[INFO] fetching crate tox_core 0.1.1...
[INFO] testing tox_core-0.1.1 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate tox_core 0.1.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate tox_core 0.1.1
[INFO] finished tweaking crates.io crate tox_core 0.1.1
[INFO] tweaked toml for crates.io crate tox_core 0.1.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tox_core 0.1.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 94 packages to highest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.13.2)
[INFO] [stderr]       Adding bytes v0.5.6 (available: v1.12.1)
[INFO] [stderr]       Adding itertools v0.9.0 (available: v0.15.0)
[INFO] [stderr]       Adding lru v0.6.6 (available: v0.18.5)
[INFO] [stderr]       Adding nom v5.1.3 (available: v8.0.0)
[INFO] [stderr]       Adding tokio v0.2.25 (available: v1.53.2)
[INFO] [stderr]       Adding tokio-util v0.3.1 (available: v0.7.19)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tox_binary_io v0.1.1
[INFO] [stderr]   Downloaded tox_crypto v0.1.1
[INFO] [stderr]   Downloaded tox_packet v0.1.1
[INFO] [stderr]   Downloaded get_if_addrs v0.5.3
[INFO] [stderr]   Downloaded ws2_32-sys v0.2.1
[INFO] [stderr]   Downloaded winapi-build v0.1.1
[INFO] [stderr]   Downloaded c_linked_list v1.1.1
[INFO] [stderr]   Downloaded tokio-macros v0.2.6
[INFO] [stderr]   Downloaded mio-uds v0.6.8
[INFO] [stderr]   Downloaded fuchsia-zircon-sys v0.3.3
[INFO] [stderr]   Downloaded get_if_addrs-sys v0.1.1
[INFO] [stderr]   Downloaded tokio-util v0.3.1
[INFO] [stderr]   Downloaded fuchsia-zircon v0.3.3
[INFO] [stderr]   Downloaded lru v0.6.6
[INFO] [stderr]   Downloaded miow v0.2.2
[INFO] [stderr]   Downloaded kernel32-sys v0.2.2
[INFO] [stderr]   Downloaded cookie-factory v0.3.3
[INFO] [stderr]   Downloaded nom v5.1.3
[INFO] [stderr]   Downloaded mio v0.6.23
[INFO] [stderr]   Downloaded winapi v0.2.8
[INFO] [stderr]   Downloaded lexical-core v0.7.6
[INFO] [stderr]   Downloaded sodiumoxide v0.2.7
[INFO] [stderr]   Downloaded libsodium-sys v0.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0
[INFO] running `Command { std: "docker" "start" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling pin-project-lite v0.1.12
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling either v1.19.0
[INFO] [stderr]    Compiling c_linked_list v1.1.1
[INFO] [stderr]    Compiling ed25519 v1.5.3
[INFO] [stderr]    Compiling get_if_addrs v0.5.3
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling libsodium-sys v0.2.7
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling mio-uds v0.6.8
[INFO] [stderr]    Compiling lru v0.6.6
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling tokio-macros v0.2.6
[INFO] [stderr]    Compiling tokio v0.2.25
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling cookie-factory v0.3.3
[INFO] [stderr]    Compiling tokio-util v0.3.1
[INFO] [stderr]    Compiling sodiumoxide v0.2.7
[INFO] [stderr]    Compiling tox_binary_io v0.1.1
[INFO] [stderr]    Compiling tox_crypto v0.1.1
[INFO] [stderr]    Compiling tox_packet v0.1.1
[INFO] [stderr]    Compiling tox_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | /     named!(from_bytes<Name>, do_parse!(
[INFO] [stdout]  96 | |         tag!([0x04,0x00]) >>
[INFO] [stdout]  97 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout]  98 | |         name_bytes: rest >>
[INFO] [stdout]  99 | |         name: value!(name_bytes.to_vec()) >>
[INFO] [stdout] 100 | |         (Name(name))
[INFO] [stdout] 101 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stdout] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stdout] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         (DhtState(nodes))
[INFO] [stdout] 146 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stdout] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stdout] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         (DhtState(nodes))
[INFO] [stdout] 146 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     named!(from_bytes<FriendStatus>, switch!(le_u8,
[INFO] [stdout] 191 | |         0 => value!(FriendStatus::NotFriend) |
[INFO] [stdout] 192 | |         1 => value!(FriendStatus::Added) |
[INFO] [stdout] 193 | |         2 => value!(FriendStatus::FrSent) |
[INFO] [stdout] 194 | |         3 => value!(FriendStatus::Confirmed) |
[INFO] [stdout] 195 | |         4 => value!(FriendStatus::Online)
[INFO] [stdout] 196 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | /     named!(from_bytes<UserWorkingStatus>,
[INFO] [stdout] 223 | |         switch!(le_u8,
[INFO] [stdout] 224 | |             0 => value!(UserWorkingStatus::Online) |
[INFO] [stdout] 225 | |             1 => value!(UserWorkingStatus::Away) |
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 279 | /     named!(from_bytes<StatusMsg>, do_parse!(
[INFO] [stdout] 280 | |         tag!([0x05,0x00]) >>
[INFO] [stdout] 281 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 282 | |         status_msg_bytes: rest >>
[INFO] [stdout] 283 | |         status_msg: value!(status_msg_bytes.to_vec()) >>
[INFO] [stdout] 284 | |         (StatusMsg(status_msg))
[INFO] [stdout] 285 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 | /     named!(from_bytes<Friends>, do_parse!(
[INFO] [stdout] 449 | |         tag!([0x03, 0x00]) >>
[INFO] [stdout] 450 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 451 | |         friends: many0!(flat_map!(take(FRIENDSTATEBYTES), FriendState::from_bytes)) >>
[INFO] [stdout] 452 | |         (Friends(friends))
[INFO] [stdout] 453 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:594:5
[INFO] [stdout]     |
[INFO] [stdout] 594 | /     named!(from_bytes<State>, do_parse!(
[INFO] [stdout] 595 | |         tag!(&[0; 4][..]) >>
[INFO] [stdout] 596 | |         tag!(STATE_MAGIC) >>
[INFO] [stdout] 597 | |         sections: many0!(flat_map!(length_data!(map!(le_u32, |len| len + 4)), Section::from_bytes)) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         })
[INFO] [stdout] 601 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u8::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/dht/ktree.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const KBUCKET_MAX_ENTRIES: u8 = ::std::u8::MAX;
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u16`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/net_crypto/mod.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::u16;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u16::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/net_crypto/mod.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 | const NONCE_DIFF_THRESHOLD: u16 = u16::MAX / 3;
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `real_sk` and `real_pk` are never read
[INFO] [stdout]   --> src/friend_connection/mod.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct FriendConnections {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 94 |     /// Our long term `SecretKey`.
[INFO] [stdout] 95 |     real_sk: SecretKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     /// Our long term `PublicKey`.
[INFO] [stdout] 97 |     real_pk: PublicKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Fail` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Display` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Fail` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Display` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (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 1m 49s
[INFO] running `Command { std: "docker" "inspect" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | /     named!(from_bytes<Name>, do_parse!(
[INFO] [stdout]  96 | |         tag!([0x04,0x00]) >>
[INFO] [stdout]  97 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout]  98 | |         name_bytes: rest >>
[INFO] [stdout]  99 | |         name: value!(name_bytes.to_vec()) >>
[INFO] [stdout] 100 | |         (Name(name))
[INFO] [stdout] 101 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stdout] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stdout] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         (DhtState(nodes))
[INFO] [stdout] 146 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stdout] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stdout] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         (DhtState(nodes))
[INFO] [stdout] 146 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     named!(from_bytes<FriendStatus>, switch!(le_u8,
[INFO] [stdout] 191 | |         0 => value!(FriendStatus::NotFriend) |
[INFO] [stdout] 192 | |         1 => value!(FriendStatus::Added) |
[INFO] [stdout] 193 | |         2 => value!(FriendStatus::FrSent) |
[INFO] [stdout] 194 | |         3 => value!(FriendStatus::Confirmed) |
[INFO] [stdout] 195 | |         4 => value!(FriendStatus::Online)
[INFO] [stdout] 196 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | /     named!(from_bytes<UserWorkingStatus>,
[INFO] [stdout] 223 | |         switch!(le_u8,
[INFO] [stdout] 224 | |             0 => value!(UserWorkingStatus::Online) |
[INFO] [stdout] 225 | |             1 => value!(UserWorkingStatus::Away) |
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 279 | /     named!(from_bytes<StatusMsg>, do_parse!(
[INFO] [stdout] 280 | |         tag!([0x05,0x00]) >>
[INFO] [stdout] 281 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 282 | |         status_msg_bytes: rest >>
[INFO] [stdout] 283 | |         status_msg: value!(status_msg_bytes.to_vec()) >>
[INFO] [stdout] 284 | |         (StatusMsg(status_msg))
[INFO] [stdout] 285 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 | /     named!(from_bytes<Friends>, do_parse!(
[INFO] [stdout] 449 | |         tag!([0x03, 0x00]) >>
[INFO] [stdout] 450 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 451 | |         friends: many0!(flat_map!(take(FRIENDSTATEBYTES), FriendState::from_bytes)) >>
[INFO] [stdout] 452 | |         (Friends(friends))
[INFO] [stdout] 453 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:594:5
[INFO] [stdout]     |
[INFO] [stdout] 594 | /     named!(from_bytes<State>, do_parse!(
[INFO] [stdout] 595 | |         tag!(&[0; 4][..]) >>
[INFO] [stdout] 596 | |         tag!(STATE_MAGIC) >>
[INFO] [stdout] 597 | |         sections: many0!(flat_map!(length_data!(map!(le_u32, |len| len + 4)), Section::from_bytes)) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         })
[INFO] [stdout] 601 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u8::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/dht/ktree.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const KBUCKET_MAX_ENTRIES: u8 = ::std::u8::MAX;
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u16`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/net_crypto/mod.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::u16;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u16::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/net_crypto/mod.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 | const NONCE_DIFF_THRESHOLD: u16 = u16::MAX / 3;
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `real_sk` and `real_pk` are never read
[INFO] [stdout]   --> src/friend_connection/mod.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct FriendConnections {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 94 |     /// Our long term `SecretKey`.
[INFO] [stdout] 95 |     real_sk: SecretKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     /// Our long term `PublicKey`.
[INFO] [stdout] 97 |     real_pk: PublicKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Fail` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Display` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Fail` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Display` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tox_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | /     named!(from_bytes<Name>, do_parse!(
[INFO] [stdout]  96 | |         tag!([0x04,0x00]) >>
[INFO] [stdout]  97 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout]  98 | |         name_bytes: rest >>
[INFO] [stdout]  99 | |         name: value!(name_bytes.to_vec()) >>
[INFO] [stdout] 100 | |         (Name(name))
[INFO] [stdout] 101 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stdout] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stdout] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         (DhtState(nodes))
[INFO] [stdout] 146 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stdout] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stdout] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         (DhtState(nodes))
[INFO] [stdout] 146 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 | /     named!(from_bytes<FriendStatus>, switch!(le_u8,
[INFO] [stdout] 191 | |         0 => value!(FriendStatus::NotFriend) |
[INFO] [stdout] 192 | |         1 => value!(FriendStatus::Added) |
[INFO] [stdout] 193 | |         2 => value!(FriendStatus::FrSent) |
[INFO] [stdout] 194 | |         3 => value!(FriendStatus::Confirmed) |
[INFO] [stdout] 195 | |         4 => value!(FriendStatus::Online)
[INFO] [stdout] 196 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 | /     named!(from_bytes<UserWorkingStatus>,
[INFO] [stdout] 223 | |         switch!(le_u8,
[INFO] [stdout] 224 | |             0 => value!(UserWorkingStatus::Online) |
[INFO] [stdout] 225 | |             1 => value!(UserWorkingStatus::Away) |
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 279 | /     named!(from_bytes<StatusMsg>, do_parse!(
[INFO] [stdout] 280 | |         tag!([0x05,0x00]) >>
[INFO] [stdout] 281 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 282 | |         status_msg_bytes: rest >>
[INFO] [stdout] 283 | |         status_msg: value!(status_msg_bytes.to_vec()) >>
[INFO] [stdout] 284 | |         (StatusMsg(status_msg))
[INFO] [stdout] 285 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stdout] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stdout] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stdout] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 408 | |         })
[INFO] [stdout] 409 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:448:5
[INFO] [stdout]     |
[INFO] [stdout] 448 | /     named!(from_bytes<Friends>, do_parse!(
[INFO] [stdout] 449 | |         tag!([0x03, 0x00]) >>
[INFO] [stdout] 450 | |         tag!(SECTION_MAGIC) >>
[INFO] [stdout] 451 | |         friends: many0!(flat_map!(take(FRIENDSTATEBYTES), FriendState::from_bytes)) >>
[INFO] [stdout] 452 | |         (Friends(friends))
[INFO] [stdout] 453 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/state_format/old.rs:594:5
[INFO] [stdout]     |
[INFO] [stdout] 594 | /     named!(from_bytes<State>, do_parse!(
[INFO] [stdout] 595 | |         tag!(&[0; 4][..]) >>
[INFO] [stdout] 596 | |         tag!(STATE_MAGIC) >>
[INFO] [stdout] 597 | |         sections: many0!(flat_map!(length_data!(map!(le_u32, |len| len + 4)), Section::from_bytes)) >>
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         })
[INFO] [stdout] 601 | |     ));
[INFO] [stdout]     | |______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tox_crypto::*`
[INFO] [stdout]    --> src/relay/handshake/mod.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     use tox_crypto::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tox_crypto::*`
[INFO] [stdout]    --> src/relay/links.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     use tox_crypto::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u8::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/dht/ktree.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const KBUCKET_MAX_ENTRIES: u8 = ::std::u8::MAX;
[INFO] [stdout]    |                                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u16`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/net_crypto/mod.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::u16;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u16::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/net_crypto/mod.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 | const NONCE_DIFF_THRESHOLD: u16 = u16::MAX / 3;
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:231:35
[INFO] [stdout]     |
[INFO] [stdout] 231 |         array.buffer_start = u32::max_value();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:270:35
[INFO] [stdout]     |
[INFO] [stdout] 270 |         array.buffer_start = u32::max_value();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:274:45
[INFO] [stdout]     |
[INFO] [stdout] 274 |         assert_eq!(array.buffer_start, u32::max_value());
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:290:35
[INFO] [stdout]     |
[INFO] [stdout] 290 |         array.buffer_start = u32::max_value();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:291:33
[INFO] [stdout]     |
[INFO] [stdout] 291 |         array.buffer_end = u32::max_value();
[INFO] [stdout]     |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 293 |         assert_eq!(array.buffer_start, u32::max_value());
[INFO] [stdout]     |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/net_crypto/packets_array.rs:295:32
[INFO] [stdout]     |
[INFO] [stdout] 295 |         assert!(array.get(u32::max_value()).is_some());
[INFO] [stdout]     |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `real_sk` is never read
[INFO] [stdout]   --> src/friend_connection/mod.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct FriendConnections {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 94 |     /// Our long term `SecretKey`.
[INFO] [stdout] 95 |     real_sk: SecretKey,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |         #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                               ^---
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `Fail` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_TestErrorKind`
[INFO] [stdout] 63 |         TestErrorKind {
[INFO] [stdout]    |         ------------- `TestErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const 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 `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:62:47
[INFO] [stdout]    |
[INFO] [stdout] 62 |         #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                               ^---
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               `Display` is not local
[INFO] [stdout]    |                                               move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_TestErrorKind`
[INFO] [stdout] 63 |         TestErrorKind {
[INFO] [stdout]    |         ------------- `TestErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeError`
[INFO] [stdout] 18 | pub enum DecodeError {
[INFO] [stdout]    |          ----------- `DecodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/codec.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeError`
[INFO] [stdout] 65 | pub enum EncodeError {
[INFO] [stdout]    |          ----------- `EncodeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServerRunError`
[INFO] [stdout] 32 | pub enum ServerRunError {
[INFO] [stdout]    |          -------------- `ServerRunError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Fail` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Fail)]
[INFO] [stdout]    |                 ^---
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Display` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionError`
[INFO] [stdout] 57 | pub enum ConnectionError {
[INFO] [stdout]    |          --------------- `ConnectionError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/relay/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 7 |     HandlePacketErrorKind {
[INFO] [stdout]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 32 |     SendPacketErrorKind {
[INFO] [stdout]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpawnErrorKind`
[INFO] [stdout] 57 |     SpawnErrorKind {
[INFO] [stdout]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/relay/client/errors.rs:81:43
[INFO] [stdout]    |
[INFO] [stdout] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionErrorKind`
[INFO] [stdout] 82 |     ConnectionErrorKind {
[INFO] [stdout]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:24:43
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeErrorKind`
[INFO] [stdout] 25 |     DecodeErrorKind {
[INFO] [stdout]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Fail` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/codec.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^---
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Display` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeErrorKind`
[INFO] [stdout] 62 |     EncodeErrorKind {
[INFO] [stdout]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 12 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:64:43
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 65 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/server/errors.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PingErrorKind`
[INFO] [stdout] 78 |     PingErrorKind {
[INFO] [stdout]    |     ------------- `PingErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/daemon_state.rs:25:43
[INFO] [stdout]    |
[INFO] [stdout] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                           ^---
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeserializeErrorKind`
[INFO] [stdout] 26 |     DeserializeErrorKind {
[INFO] [stdout]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LanDiscoveryErrorKind`
[INFO] [stdout] 21 |     LanDiscoveryErrorKind {
[INFO] [stdout]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Fail` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/onion/client/errors.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]   |                                           ^------------
[INFO] [stdout]   |                                           |
[INFO] [stdout]   |                                           `Display` is not local
[INFO] [stdout]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stdout] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stdout]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:31:43
[INFO] [stdout]    |
[INFO] [stdout] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stdout] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stdout]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:56:43
[INFO] [stdout]    |
[INFO] [stdout] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDataResponseErrorKind`
[INFO] [stdout] 57 |     HandleDataResponseErrorKind {
[INFO] [stdout]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Fail` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/onion/client/errors.rs:78:43
[INFO] [stdout]    |
[INFO] [stdout] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `Display` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 79 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketsArrayErrorKind`
[INFO] [stdout] 17 |     PacketsArrayErrorKind {
[INFO] [stdout]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/net_crypto/errors.rs:71:36
[INFO] [stdout]    |
[INFO] [stdout] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stdout] 72 |     HandlePacketErrorKind {
[INFO] [stdout]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:179:36
[INFO] [stdout]     |
[INFO] [stdout] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendDataErrorKind`
[INFO] [stdout] 180 |     SendDataErrorKind {
[INFO] [stdout]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Fail` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:198:43
[INFO] [stdout]     |
[INFO] [stdout] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                           ^---
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `Display` is not local
[INFO] [stdout]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 199 |     RunErrorKind {
[INFO] [stdout]     |     ------------ `RunErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendLosslessPacketErrorKind`
[INFO] [stdout] 215 |     SendLosslessPacketErrorKind {
[INFO] [stdout]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KillConnectionErrorKind`
[INFO] [stdout] 237 |     KillConnectionErrorKind {
[INFO] [stdout]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Fail` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/net_crypto/errors.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]     |                                    ^---
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `Display` is not local
[INFO] [stdout]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stdout] 256 |     SendPacketErrorKind {
[INFO] [stdout]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RemoveFriendErrorKind`
[INFO] [stdout] 11 |     RemoveFriendErrorKind {
[INFO] [stdout]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stdout] 27 |     RunErrorKind {
[INFO] [stdout]    |     ------------ `RunErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Fail` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/friend_connection/errors.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stdout]    |                                    ^---
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    `Display` is not local
[INFO] [stdout]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleShareRelaysErrorKind`
[INFO] [stdout] 55 |     HandleShareRelaysErrorKind {
[INFO] [stdout]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.81s
[INFO] running `Command { std: "docker" "inspect" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:95:5
[INFO] [stderr]     |
[INFO] [stderr]  95 | /     named!(from_bytes<Name>, do_parse!(
[INFO] [stderr]  96 | |         tag!([0x04,0x00]) >>
[INFO] [stderr]  97 | |         tag!(SECTION_MAGIC) >>
[INFO] [stderr]  98 | |         name_bytes: rest >>
[INFO] [stderr]  99 | |         name: value!(name_bytes.to_vec()) >>
[INFO] [stderr] 100 | |         (Name(name))
[INFO] [stderr] 101 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stderr] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stderr] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stderr] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stderr] ...   |
[INFO] [stderr] 145 | |         (DhtState(nodes))
[INFO] [stderr] 146 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 | /     named!(from_bytes<DhtState>, do_parse!(
[INFO] [stderr] 138 | |         tag!([0x02,0x00]) >>
[INFO] [stderr] 139 | |         tag!(SECTION_MAGIC) >>
[INFO] [stderr] 140 | |         verify!(le_u32, |value| *value == DHT_MAGICAL) >> // check whether beginning of the section matches DHT magic bytes
[INFO] [stderr] ...   |
[INFO] [stderr] 145 | |         (DhtState(nodes))
[INFO] [stderr] 146 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:190:5
[INFO] [stderr]     |
[INFO] [stderr] 190 | /     named!(from_bytes<FriendStatus>, switch!(le_u8,
[INFO] [stderr] 191 | |         0 => value!(FriendStatus::NotFriend) |
[INFO] [stderr] 192 | |         1 => value!(FriendStatus::Added) |
[INFO] [stderr] 193 | |         2 => value!(FriendStatus::FrSent) |
[INFO] [stderr] 194 | |         3 => value!(FriendStatus::Confirmed) |
[INFO] [stderr] 195 | |         4 => value!(FriendStatus::Online)
[INFO] [stderr] 196 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:222:5
[INFO] [stderr]     |
[INFO] [stderr] 222 | /     named!(from_bytes<UserWorkingStatus>,
[INFO] [stderr] 223 | |         switch!(le_u8,
[INFO] [stderr] 224 | |             0 => value!(UserWorkingStatus::Online) |
[INFO] [stderr] 225 | |             1 => value!(UserWorkingStatus::Away) |
[INFO] [stderr] ...   |
[INFO] [stderr] 228 | |     );
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:279:5
[INFO] [stderr]     |
[INFO] [stderr] 279 | /     named!(from_bytes<StatusMsg>, do_parse!(
[INFO] [stderr] 280 | |         tag!([0x05,0x00]) >>
[INFO] [stderr] 281 | |         tag!(SECTION_MAGIC) >>
[INFO] [stderr] 282 | |         status_msg_bytes: rest >>
[INFO] [stderr] 283 | |         status_msg: value!(status_msg_bytes.to_vec()) >>
[INFO] [stderr] 284 | |         (StatusMsg(status_msg))
[INFO] [stderr] 285 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:378:5
[INFO] [stderr]     |
[INFO] [stderr] 378 | /     named!(from_bytes<FriendState>, do_parse!(
[INFO] [stderr] 379 | |         friend_status: call!(FriendStatus::from_bytes) >>
[INFO] [stderr] 380 | |         pk: call!(PublicKey::from_bytes) >>
[INFO] [stderr] 381 | |         fr_msg_bytes: take!(REQUEST_MSG_LEN) >>
[INFO] [stderr] ...   |
[INFO] [stderr] 408 | |         })
[INFO] [stderr] 409 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `do_parse`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:448:5
[INFO] [stderr]     |
[INFO] [stderr] 448 | /     named!(from_bytes<Friends>, do_parse!(
[INFO] [stderr] 449 | |         tag!([0x03, 0x00]) >>
[INFO] [stderr] 450 | |         tag!(SECTION_MAGIC) >>
[INFO] [stderr] 451 | |         friends: many0!(flat_map!(take(FRIENDSTATEBYTES), FriendState::from_bytes)) >>
[INFO] [stderr] 452 | |         (Friends(friends))
[INFO] [stderr] 453 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/state_format/old.rs:594:5
[INFO] [stderr]     |
[INFO] [stderr] 594 | /     named!(from_bytes<State>, do_parse!(
[INFO] [stderr] 595 | |         tag!(&[0; 4][..]) >>
[INFO] [stderr] 596 | |         tag!(STATE_MAGIC) >>
[INFO] [stderr] 597 | |         sections: many0!(flat_map!(length_data!(map!(le_u32, |len| len + 4)), Section::from_bytes)) >>
[INFO] [stderr] ...   |
[INFO] [stderr] 600 | |         })
[INFO] [stderr] 601 | |     ));
[INFO] [stderr]     | |______^
[INFO] [stderr]     |
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `flat_map`
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `flat_map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::u8::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]   --> src/dht/ktree.rs:38:48
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub const KBUCKET_MAX_ENTRIES: u8 = ::std::u8::MAX;
[INFO] [stderr]    |                                                ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::u16`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]   --> src/net_crypto/mod.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 | use std::u16;
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::u16::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]   --> src/net_crypto/mod.rs:48:40
[INFO] [stderr]    |
[INFO] [stderr] 48 | const NONCE_DIFF_THRESHOLD: u16 = u16::MAX / 3;
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `real_sk` and `real_pk` are never read
[INFO] [stderr]   --> src/friend_connection/mod.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub struct FriendConnections {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] 94 |     /// Our long term `SecretKey`.
[INFO] [stderr] 95 |     real_sk: SecretKey,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 96 |     /// Our long term `PublicKey`.
[INFO] [stderr] 97 |     real_pk: PublicKey,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/codec.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stderr] 18 | pub enum DecodeError {
[INFO] [stderr]    |          ----------- `DecodeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/codec.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeError`
[INFO] [stderr] 18 | pub enum DecodeError {
[INFO] [stderr]    |          ----------- `DecodeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/codec.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeError`
[INFO] [stderr] 65 | pub enum EncodeError {
[INFO] [stderr]    |          ----------- `EncodeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/codec.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeError`
[INFO] [stderr] 65 | pub enum EncodeError {
[INFO] [stderr]    |          ----------- `EncodeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stderr]    |
[INFO] [stderr] 31 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ServerRunError`
[INFO] [stderr] 32 | pub enum ServerRunError {
[INFO] [stderr]    |          -------------- `ServerRunError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/server/server_ext.rs:31:17
[INFO] [stderr]    |
[INFO] [stderr] 31 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ServerRunError`
[INFO] [stderr] 32 | pub enum ServerRunError {
[INFO] [stderr]    |          -------------- `ServerRunError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionError`
[INFO] [stderr] 57 | pub enum ConnectionError {
[INFO] [stderr]    |          --------------- `ConnectionError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/server/server_ext.rs:56:17
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Display` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionError`
[INFO] [stderr] 57 | pub enum ConnectionError {
[INFO] [stderr]    |          --------------- `ConnectionError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/relay/client/errors.rs:6:43
[INFO] [stderr]   |
[INFO] [stderr] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]   |                                           ^------------
[INFO] [stderr]   |                                           |
[INFO] [stderr]   |                                           `Fail` is not local
[INFO] [stderr]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stderr] 7 |     HandlePacketErrorKind {
[INFO] [stderr]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/relay/client/errors.rs:6:43
[INFO] [stderr]   |
[INFO] [stderr] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]   |                                           ^------------
[INFO] [stderr]   |                                           |
[INFO] [stderr]   |                                           `Display` is not local
[INFO] [stderr]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stderr] 7 |     HandlePacketErrorKind {
[INFO] [stderr]   |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/client/errors.rs:31:43
[INFO] [stderr]    |
[INFO] [stderr] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stderr] 32 |     SendPacketErrorKind {
[INFO] [stderr]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/client/errors.rs:31:43
[INFO] [stderr]    |
[INFO] [stderr] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stderr] 32 |     SendPacketErrorKind {
[INFO] [stderr]    |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/client/errors.rs:56:43
[INFO] [stderr]    |
[INFO] [stderr] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpawnErrorKind`
[INFO] [stderr] 57 |     SpawnErrorKind {
[INFO] [stderr]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/client/errors.rs:56:43
[INFO] [stderr]    |
[INFO] [stderr] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpawnErrorKind`
[INFO] [stderr] 57 |     SpawnErrorKind {
[INFO] [stderr]    |     -------------- `SpawnErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/client/errors.rs:81:43
[INFO] [stderr]    |
[INFO] [stderr] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ConnectionErrorKind`
[INFO] [stderr] 82 |     ConnectionErrorKind {
[INFO] [stderr]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/client/errors.rs:81:43
[INFO] [stderr]    |
[INFO] [stderr] 81 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ConnectionErrorKind`
[INFO] [stderr] 82 |     ConnectionErrorKind {
[INFO] [stderr]    |     ------------------- `ConnectionErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/codec.rs:24:43
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeErrorKind`
[INFO] [stderr] 25 |     DecodeErrorKind {
[INFO] [stderr]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/codec.rs:24:43
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DecodeErrorKind`
[INFO] [stderr] 25 |     DecodeErrorKind {
[INFO] [stderr]    |     --------------- `DecodeErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/codec.rs:61:21
[INFO] [stderr]    |
[INFO] [stderr] 61 |     #[derive(Debug, Fail)]
[INFO] [stderr]    |                     ^---
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Fail` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_EncodeErrorKind`
[INFO] [stderr] 62 |     EncodeErrorKind {
[INFO] [stderr]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/codec.rs:61:21
[INFO] [stderr]    |
[INFO] [stderr] 61 |     #[derive(Debug, Fail)]
[INFO] [stderr]    |                     ^---
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Display` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_EncodeErrorKind`
[INFO] [stderr] 62 |     EncodeErrorKind {
[INFO] [stderr]    |     --------------- `EncodeErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/server/errors.rs:11:43
[INFO] [stderr]    |
[INFO] [stderr] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stderr] 12 |     HandlePacketErrorKind {
[INFO] [stderr]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/server/errors.rs:11:43
[INFO] [stderr]    |
[INFO] [stderr] 11 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stderr] 12 |     HandlePacketErrorKind {
[INFO] [stderr]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/server/errors.rs:64:43
[INFO] [stderr]    |
[INFO] [stderr] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stderr] 65 |     RunErrorKind {
[INFO] [stderr]    |     ------------ `RunErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/server/errors.rs:64:43
[INFO] [stderr]    |
[INFO] [stderr] 64 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stderr] 65 |     RunErrorKind {
[INFO] [stderr]    |     ------------ `RunErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/server/errors.rs:77:43
[INFO] [stderr]    |
[INFO] [stderr] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PingErrorKind`
[INFO] [stderr] 78 |     PingErrorKind {
[INFO] [stderr]    |     ------------- `PingErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/server/errors.rs:77:43
[INFO] [stderr]    |
[INFO] [stderr] 77 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PingErrorKind`
[INFO] [stderr] 78 |     PingErrorKind {
[INFO] [stderr]    |     ------------- `PingErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/daemon_state.rs:25:43
[INFO] [stderr]    |
[INFO] [stderr] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeserializeErrorKind`
[INFO] [stderr] 26 |     DeserializeErrorKind {
[INFO] [stderr]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/daemon_state.rs:25:43
[INFO] [stderr]    |
[INFO] [stderr] 25 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                           ^---
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeserializeErrorKind`
[INFO] [stderr] 26 |     DeserializeErrorKind {
[INFO] [stderr]    |     -------------------- `DeserializeErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stderr]    |
[INFO] [stderr] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Fail` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LanDiscoveryErrorKind`
[INFO] [stderr] 21 |     LanDiscoveryErrorKind {
[INFO] [stderr]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/dht/lan_discovery.rs:20:36
[INFO] [stderr]    |
[INFO] [stderr] 20 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Display` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LanDiscoveryErrorKind`
[INFO] [stderr] 21 |     LanDiscoveryErrorKind {
[INFO] [stderr]    |     --------------------- `LanDiscoveryErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/onion/client/errors.rs:6:43
[INFO] [stderr]   |
[INFO] [stderr] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]   |                                           ^------------
[INFO] [stderr]   |                                           |
[INFO] [stderr]   |                                           `Fail` is not local
[INFO] [stderr]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stderr] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stderr]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/onion/client/errors.rs:6:43
[INFO] [stderr]   |
[INFO] [stderr] 6 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]   |                                           ^------------
[INFO] [stderr]   |                                           |
[INFO] [stderr]   |                                           `Display` is not local
[INFO] [stderr]   |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleAnnounceResponseErrorKind`
[INFO] [stderr] 7 |     HandleAnnounceResponseErrorKind {
[INFO] [stderr]   |     ------------------------------- `HandleAnnounceResponseErrorKind` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/onion/client/errors.rs:31:43
[INFO] [stderr]    |
[INFO] [stderr] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stderr] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stderr]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/onion/client/errors.rs:31:43
[INFO] [stderr]    |
[INFO] [stderr] 31 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDhtPkAnnounceErrorKind`
[INFO] [stderr] 32 |     HandleDhtPkAnnounceErrorKind {
[INFO] [stderr]    |     ---------------------------- `HandleDhtPkAnnounceErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/onion/client/errors.rs:56:43
[INFO] [stderr]    |
[INFO] [stderr] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleDataResponseErrorKind`
[INFO] [stderr] 57 |     HandleDataResponseErrorKind {
[INFO] [stderr]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/onion/client/errors.rs:56:43
[INFO] [stderr]    |
[INFO] [stderr] 56 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleDataResponseErrorKind`
[INFO] [stderr] 57 |     HandleDataResponseErrorKind {
[INFO] [stderr]    |     --------------------------- `HandleDataResponseErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/onion/client/errors.rs:78:43
[INFO] [stderr]    |
[INFO] [stderr] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Fail` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stderr] 79 |     RunErrorKind {
[INFO] [stderr]    |     ------------ `RunErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/onion/client/errors.rs:78:43
[INFO] [stderr]    |
[INFO] [stderr] 78 |     #[derive(Clone, Debug, Eq, PartialEq, failure::Fail)]
[INFO] [stderr]    |                                           ^------------
[INFO] [stderr]    |                                           |
[INFO] [stderr]    |                                           `Display` is not local
[INFO] [stderr]    |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stderr] 79 |     RunErrorKind {
[INFO] [stderr]    |     ------------ `RunErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/net_crypto/errors.rs:16:36
[INFO] [stderr]    |
[INFO] [stderr] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Fail` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_PacketsArrayErrorKind`
[INFO] [stderr] 17 |     PacketsArrayErrorKind {
[INFO] [stderr]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/net_crypto/errors.rs:16:36
[INFO] [stderr]    |
[INFO] [stderr] 16 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Display` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_PacketsArrayErrorKind`
[INFO] [stderr] 17 |     PacketsArrayErrorKind {
[INFO] [stderr]    |     --------------------- `PacketsArrayErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/net_crypto/errors.rs:71:36
[INFO] [stderr]    |
[INFO] [stderr] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Fail` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandlePacketErrorKind`
[INFO] [stderr] 72 |     HandlePacketErrorKind {
[INFO] [stderr]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/net_crypto/errors.rs:71:36
[INFO] [stderr]    |
[INFO] [stderr] 71 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Display` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandlePacketErrorKind`
[INFO] [stderr] 72 |     HandlePacketErrorKind {
[INFO] [stderr]    |     --------------------- `HandlePacketErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:179:36
[INFO] [stderr]     |
[INFO] [stderr] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Fail` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendDataErrorKind`
[INFO] [stderr] 180 |     SendDataErrorKind {
[INFO] [stderr]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:179:36
[INFO] [stderr]     |
[INFO] [stderr] 179 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Display` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendDataErrorKind`
[INFO] [stderr] 180 |     SendDataErrorKind {
[INFO] [stderr]     |     ----------------- `SendDataErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:198:43
[INFO] [stderr]     |
[INFO] [stderr] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                           ^---
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           `Fail` is not local
[INFO] [stderr]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stderr] 199 |     RunErrorKind {
[INFO] [stderr]     |     ------------ `RunErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:198:43
[INFO] [stderr]     |
[INFO] [stderr] 198 |     #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                           ^---
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           `Display` is not local
[INFO] [stderr]     |                                           move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stderr] 199 |     RunErrorKind {
[INFO] [stderr]     |     ------------ `RunErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:214:36
[INFO] [stderr]     |
[INFO] [stderr] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Fail` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendLosslessPacketErrorKind`
[INFO] [stderr] 215 |     SendLosslessPacketErrorKind {
[INFO] [stderr]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:214:36
[INFO] [stderr]     |
[INFO] [stderr] 214 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Display` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendLosslessPacketErrorKind`
[INFO] [stderr] 215 |     SendLosslessPacketErrorKind {
[INFO] [stderr]     |     --------------------------- `SendLosslessPacketErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:236:36
[INFO] [stderr]     |
[INFO] [stderr] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Fail` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KillConnectionErrorKind`
[INFO] [stderr] 237 |     KillConnectionErrorKind {
[INFO] [stderr]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:236:36
[INFO] [stderr]     |
[INFO] [stderr] 236 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Display` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KillConnectionErrorKind`
[INFO] [stderr] 237 |     KillConnectionErrorKind {
[INFO] [stderr]     |     ----------------------- `KillConnectionErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:255:36
[INFO] [stderr]     |
[INFO] [stderr] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Fail` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SendPacketErrorKind`
[INFO] [stderr] 256 |     SendPacketErrorKind {
[INFO] [stderr]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/net_crypto/errors.rs:255:36
[INFO] [stderr]     |
[INFO] [stderr] 255 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]     |                                    ^---
[INFO] [stderr]     |                                    |
[INFO] [stderr]     |                                    `Display` is not local
[INFO] [stderr]     |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SendPacketErrorKind`
[INFO] [stderr] 256 |     SendPacketErrorKind {
[INFO] [stderr]     |     ------------------- `SendPacketErrorKind` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/friend_connection/errors.rs:10:36
[INFO] [stderr]    |
[INFO] [stderr] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Fail` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RemoveFriendErrorKind`
[INFO] [stderr] 11 |     RemoveFriendErrorKind {
[INFO] [stderr]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/friend_connection/errors.rs:10:36
[INFO] [stderr]    |
[INFO] [stderr] 10 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Display` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RemoveFriendErrorKind`
[INFO] [stderr] 11 |     RemoveFriendErrorKind {
[INFO] [stderr]    |     --------------------- `RemoveFriendErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/friend_connection/errors.rs:26:36
[INFO] [stderr]    |
[INFO] [stderr] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Fail` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RunErrorKind`
[INFO] [stderr] 27 |     RunErrorKind {
[INFO] [stderr]    |     ------------ `RunErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/friend_connection/errors.rs:26:36
[INFO] [stderr]    |
[INFO] [stderr] 26 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Display` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RunErrorKind`
[INFO] [stderr] 27 |     RunErrorKind {
[INFO] [stderr]    |     ------------ `RunErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/friend_connection/errors.rs:54:36
[INFO] [stderr]    |
[INFO] [stderr] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Fail` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandleShareRelaysErrorKind`
[INFO] [stderr] 55 |     HandleShareRelaysErrorKind {
[INFO] [stderr]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/friend_connection/errors.rs:54:36
[INFO] [stderr]    |
[INFO] [stderr] 54 |     #[derive(Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                    ^---
[INFO] [stderr]    |                                    |
[INFO] [stderr]    |                                    `Display` is not local
[INFO] [stderr]    |                                    move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandleShareRelaysErrorKind`
[INFO] [stderr] 55 |     HandleShareRelaysErrorKind {
[INFO] [stderr]    |     -------------------------- `HandleShareRelaysErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tox_crypto::*`
[INFO] [stderr]    --> src/relay/handshake/mod.rs:176:9
[INFO] [stderr]     |
[INFO] [stderr] 176 |     use tox_crypto::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tox_crypto::*`
[INFO] [stderr]    --> src/relay/links.rs:172:9
[INFO] [stderr]     |
[INFO] [stderr] 172 |     use tox_crypto::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:231:35
[INFO] [stderr]     |
[INFO] [stderr] 231 |         array.buffer_start = u32::max_value();
[INFO] [stderr]     |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:270:35
[INFO] [stderr]     |
[INFO] [stderr] 270 |         array.buffer_start = u32::max_value();
[INFO] [stderr]     |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:274:45
[INFO] [stderr]     |
[INFO] [stderr] 274 |         assert_eq!(array.buffer_start, u32::max_value());
[INFO] [stderr]     |                                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:290:35
[INFO] [stderr]     |
[INFO] [stderr] 290 |         array.buffer_start = u32::max_value();
[INFO] [stderr]     |                                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:291:33
[INFO] [stderr]     |
[INFO] [stderr] 291 |         array.buffer_end = u32::max_value();
[INFO] [stderr]     |                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:293:45
[INFO] [stderr]     |
[INFO] [stderr] 293 |         assert_eq!(array.buffer_start, u32::max_value());
[INFO] [stderr]     |                                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::num::<impl u32>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/net_crypto/packets_array.rs:295:32
[INFO] [stderr]     |
[INFO] [stderr] 295 |         assert!(array.get(u32::max_value()).is_some());
[INFO] [stderr]     |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `real_sk` is never read
[INFO] [stderr]   --> src/friend_connection/mod.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub struct FriendConnections {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 94 |     /// Our long term `SecretKey`.
[INFO] [stderr] 95 |     real_sk: SecretKey,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FriendConnections` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/error.rs:62:47
[INFO] [stderr]    |
[INFO] [stderr] 62 |         #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                               ^---
[INFO] [stderr]    |                                               |
[INFO] [stderr]    |                                               `Fail` is not local
[INFO] [stderr]    |                                               move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_TestErrorKind`
[INFO] [stderr] 63 |         TestErrorKind {
[INFO] [stderr]    |         ------------- `TestErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/error.rs:62:47
[INFO] [stderr]    |
[INFO] [stderr] 62 |         #[derive(Clone, Debug, Eq, PartialEq, Fail)]
[INFO] [stderr]    |                                               ^---
[INFO] [stderr]    |                                               |
[INFO] [stderr]    |                                               `Display` is not local
[INFO] [stderr]    |                                               move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_TestErrorKind`
[INFO] [stderr] 63 |         TestErrorKind {
[INFO] [stderr]    |         ------------- `TestErrorKind` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/relay/codec.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | #[derive(Debug, Fail)]
[INFO] [stderr]    |                 ^---
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Fail` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DecodeError`
[INFO] [stderr] 18 | pub enum DecodeError {
[INFO] [stderr]    |          ----------- `DecodeError` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `tox_core` (lib) generated 74 warnings (3 duplicates)
[INFO] [stderr] warning: `tox_core` (lib test) generated 85 warnings (72 duplicates) (run `cargo fix --lib -p tox_core --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tox_core-ed830685daccdacc)
[INFO] [stdout] 
[INFO] [stdout] running 497 tests
[INFO] [stdout] test dht::codec::tests::decode_encrypted_packet_error ... ok
[INFO] [stdout] test dht::codec::tests::encode_decode ... ok
[INFO] [stdout] test dht::codec::tests::encode_packet_too_big ... ok
[INFO] [stdout] test dht::codec::tests::decode_encrypted_packet_zero_length ... ok
[INFO] [stdout] test dht::dht_friend::tests::addr_is_known ... ok
[INFO] [stdout] test dht::dht_friend::tests::addr_is_unknown ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_get_node ... ok
[INFO] [stdout] test dht::dht_friend::tests::can_and_try_add_to_close ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_get_node_mut ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_can_add ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_index_test ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_len ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_position_remove_first ... ok
[INFO] [stdout] test dht::dht_friend::tests::get_returned_addrs ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_position_remove_second ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_get_closest ... ok
[INFO] [stdout] test dht::dht_friend::tests::get_returned_addrs_timed_out ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_is_all_discarded ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_iter ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_remove ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_is_empty ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_try_add ... ok
[INFO] [stdout] test dht::ip_port::tests::is_global_test ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_position_remove_third ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_position_reverse_insertion ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_position_straight_insertion ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_contains ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_remove ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_try_add ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_try_add_evict_should_replace_bad_nodes ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_contains ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_try_add_evict_should_replace_bad_nodes_first ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_is_all_discarded ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_iter ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_iter_mut ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_new ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_remove ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_try_add ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_try_add_self ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_get_closest ... ok
[INFO] [stdout] test dht::forced_ktree::tests::forced_ktree_iter_mut ... ok
[INFO] [stdout] test dht::kbucket::tests::public_key_distance ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_try_add_should_replace_bad_nodes_in_the_middle ... ok
[INFO] [stdout] test dht::kbucket::tests::kbucket_try_add_should_replace_bad_nodes ... ok
[INFO] [stdout] test dht::server::hole_punching::tests::hole_punch_get_common_ip_with_null_addrs ... ok
[INFO] [stdout] test dht::lan_discovery::tests::send_ipv4 ... ok
[INFO] [stdout] test dht::request_queue::tests::insert_new_ping_id ... ok
[INFO] [stdout] test dht::lan_discovery::tests::send_ipv6 ... ok
[INFO] [stdout] test dht::request_queue::tests::check_ping_id ... ok
[INFO] [stdout] test dht::request_queue::tests::check_ping_id_nonexistent ... ok
[INFO] [stdout] test dht::request_queue::tests::check_ping_id_timed_out ... ok
[INFO] [stdout] test dht::request_queue::tests::check_ping_id_zero ... ok
[INFO] [stdout] test dht::request_queue::tests::clear_timed_out ... ok
[INFO] [stdout] test dht::server::hole_punching::tests::hole_punch_get_common_ip_with_under_half_addrs ... ok
[INFO] [stdout] test dht::server::tests::handle_bootstrap_info_wrong_length ... ok
[INFO] [stdout] test dht::server::tests::enable_ipv6_mode ... ok
[INFO] [stdout] test dht::server::tests::add_friend ... ok
[INFO] [stdout] test dht::server::tests::handle_cookie_response_uninitialized ... ok
[INFO] [stdout] test dht::server::tests::handle_cookie_request ... ok
[INFO] [stdout] test dht::server::tests::handle_bootstrap_info ... ok
[INFO] [stdout] test dht::server::tests::handle_crypto_data_uninitialized ... ok
[INFO] [stdout] test dht::server::tests::handle_cookie_request_uninitialized ... ok
[INFO] [stdout] test dht::ktree::tests::ktree_can_add ... ok
[INFO] [stdout] test dht::server::tests::handle_crypto_handshake_uninitialized ... ok
[INFO] [stdout] test dht::codec::tests::decode_encrypted_packet_incomplete ... ok
[INFO] [stdout] test dht::daemon_state::tests::daemon_state_serialize_deserialize ... ok
[INFO] [stdout] test dht::lan_discovery::tests::cycle_around_ports ... ok
[INFO] [stdout] test dht::request_queue::tests::get_values ... ok
[INFO] [stdout] test dht::server::hole_punching::tests::hole_punch_default ... ok
[INFO] [stdout] test dht::server::hole_punching::tests::hole_punch_get_common_ip_with_enough_addrs ... ok
[INFO] [stdout] test dht::server::hole_punching::tests::hole_punch_lash_punch ... ok
[INFO] [stdout] test dht::server::hole_punching::tests::hole_punch_new ... ok
[INFO] [stdout] test dht::server::tests::handle_nat_ping_resp_invalid_ping_id ... ok
[INFO] [stdout] test dht::server::tests::handle_nat_ping_resp ... ok
[INFO] [stdout] test dht::server::tests::handle_lan_discovery_for_ourselves ... ok
[INFO] [stdout] test dht::server::tests::handle_dht_req_for_known_node ... ok
[INFO] [stdout] test dht::server::tests::handle_lan_discovery_when_disabled ... ok
[INFO] [stdout] test dht::server::tests::handle_nat_ping_req ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_req_should_return_nodes_from_friends ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_resp_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_resp ... ok
[INFO] [stdout] test dht::server::tests::handle_nat_ping_resp_ping_id_is_0 ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_resp_invalid_ping_id ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_req_should_not_return_bad_nodes ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_announce_response_uninitialized ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_resp_ping_id_is_0 ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_data_response_uninitialized ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_data_request ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_req_should_not_return_lan_nodes_when_address_is_global ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_1 ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_announce_request ... ok
[INFO] [stdout] test dht::server::tests::handle_dht_req_for_unknown_node ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_announce_request_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_0_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_1_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_req ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_resp_friend_saddr ... ok
[INFO] [stdout] test dht::server::tests::handle_nodes_req_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_2_with_onion_announce_request ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_2_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_dht_req_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_lan_discovery ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_0 ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_request_2_with_onion_data_request ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_1_invalid_onion_return ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_1_redirect_to_tcp ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_1_can_not_redirect_to_tcp ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_1_invalid_next_onion_return ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_1_with_onion_announce_response ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_2_invalid_onion_return ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_req ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_3 ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_2 ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_3_invalid_next_onion_return ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_req_from_friend_with_unknown_addr ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_resp_invalid_ping_id ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_3_invalid_onion_return ... ok
[INFO] [stdout] test dht::server::tests::handle_onion_response_2_invalid_next_onion_return ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_resp ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_resp_friend_saddr ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_resp_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_resp_not_a_friend ... ok
[INFO] [stdout] test dht::server::tests::ping_close_nodes_of_friend ... ok
[INFO] [stdout] test dht::server::tests::readd_friend ... ok
[INFO] [stdout] test dht::server::tests::ping_nodes_to_bootstrap_of_friend ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_resp_ping_id_is_0 ... ok
[INFO] [stdout] test dht::server::tests::random_friend_nodes ... ok
[INFO] [stdout] test dht::server::tests::ping_node ... ok
[INFO] [stdout] test dht::server::tests::refresh_onion_key ... ok
[INFO] [stdout] test dht::server::tests::ping_close_nodes ... ok
[INFO] [stdout] test dht::server::tests::ping_nodes_from_nodes_to_ping_list ... ok
[INFO] [stdout] test dht::server::tests::ping_nodes_to_bootstrap ... ok
[INFO] [stdout] test dht::server::tests::send_nat_ping_req ... ok
[INFO] [stdout] test dht::server::tests::send_bootstrap_requests_with_discarded ... ok
[INFO] [stdout] test dht::server::tests::handle_ping_req_invalid_payload ... ok
[INFO] [stdout] test dht::server::tests::handle_tcp_onion_request ... ok
[INFO] [stdout] test dht::server::tests::remove_friend ... ok
[INFO] [stdout] test dht::server::tests::is_connected ... ok
[INFO] [stdout] test dht::server::tests::ping_nodes_when_nodes_to_ping_list_is_empty ... ok
[INFO] [stdout] test dht::server::tests::send_bootstrap_requests ... ok
[INFO] [stdout] test error::tests::test_error_variant_2 ... ok
[INFO] [stdout] test dht::server::tests::send_bootstrap_requests_when_ktree_has_good_node ... ok
[INFO] [stdout] test error::tests::test_error_variant_1 ... ok
[INFO] [stdout] test friend_connection::tests::handle_ping ... ok
[INFO] [stdout] test dht::server::tests::send_to ... ok
[INFO] [stdout] test friend_connection::tests::handle_connection_status_connected ... ok
[INFO] [stdout] test dht::server::tests::send_nodes_req_random_friend_periodicity ... ok
[INFO] [stdout] test dht::server::tests::send_nodes_req_random_periodicity ... ok
[INFO] [stdout] test friend_connection::tests::handle_share_relays ... ok
[INFO] [stdout] test friend_connection::tests::main_loop_clear_dht_pk ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_alive_ipv6 ... ok
[INFO] [stdout] test friend_connection::tests::main_loop_share_relays ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_alive_ipv4 ... ok
[INFO] [stdout] test friend_connection::tests::handle_friend_saddr ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_alive_ipv4_lan ... ok
[INFO] [stdout] test friend_connection::tests::run ... ok
[INFO] [stdout] test friend_connection::tests::main_loop_clear_saddr ... ok
[INFO] [stdout] test friend_connection::tests::main_loop_send_ping ... ok
[INFO] [stdout] test friend_connection::tests::main_loop_remove_timed_out ... ok
[INFO] [stdout] test friend_connection::tests::handle_dht_pk ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::recv_packet_clone ... ok
[INFO] [stdout] test friend_connection::tests::add_remove_friend ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_ipv6 ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::sent_packet_clone ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::request_packet_interval ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::is_established ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::status_packet_is_timed_out ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_ipv4 ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_none ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::status_packet_should_be_sent ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::set_get_udp_addr_v4 ... ok
[INFO] [stdout] test dht::server::tests::server_handle_onion_response_1_with_onion_data_response_test ... ok
[INFO] [stdout] test dht::server_ext::tests::run_socket ... ok
[INFO] [stdout] test error::tests::test_error ... ok
[INFO] [stdout] test friend_connection::tests::handle_connection_status_disconnected ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::set_get_udp_addr_v6 ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::get_udp_addr_alive_ipv6_lan ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::get ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::is_not_confirmed ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::contains ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::get_mut ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::update_congestion_stats ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::insert ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::pop_front_none ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::len ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::pop_front_empty ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::iter_mut_empty ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::push_back ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::set_buffer_end ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::iter_mut_single_part ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::push_back_full ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::insert_exists ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::remove ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::pop_front_some ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::insert_too_big_index ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::push_back_overflow ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::iter_mut_two_parts ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::set_buffer_end_lower_than_end_index ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::set_buffer_end_too_big_index ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::set_buffer_start ... ok
[INFO] [stdout] test net_crypto::tests::handle_cookie_request ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::set_buffer_start_lower_than_start_index ... ok
[INFO] [stdout] test net_crypto::crypto_connection::tests::crypto_connection_clone ... ok
[INFO] [stdout] test net_crypto::tests::add_remove_friend ... ok
[INFO] [stdout] test net_crypto::packets_array::tests::set_buffer_start_too_big_index ... ok
[INFO] [stdout] test net_crypto::tests::handle_cookie_response_invalid_status ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_empty_data ... ok
[INFO] [stdout] test net_crypto::tests::handle_cookie_request_invalid ... ok
[INFO] [stdout] test net_crypto::tests::handle_cookie_response_invalid_request_id ... ok
[INFO] [stdout] test net_crypto::tests::add_connection_already_exists ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_invalid_status ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_lossless ... ok
[INFO] [stdout] test net_crypto::tests::handle_cookie_response ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_in_not_confirmed_status ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_invalid_status ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_invalid_peer_real_pk ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_lossy_invalid_buffer_start ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_invalid_peer_dht_pk ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_lossy_update_rtt ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_lossless_too_big_index ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_invalid_hash ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_empty_request ... ok
[INFO] [stdout] test net_crypto::tests::add_connection ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_kill ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_lossy ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_in_cookie_requesting_status ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_lossy_increment_nonce ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_request ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_cookie_request ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_cookie_request_invalid ... ok
[INFO] [stdout] test net_crypto::tests::handle_tcp_cookie_request ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_cookie_response_no_connection ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_handshake_timed_out_cookie ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_handshake_new_address_old_dht_pk_established ... ok
[INFO] [stdout] test net_crypto::tests::handle_tcp_crypto_data_lossy ... ok
[INFO] [stdout] test net_crypto::tests::kill_connection_no_connection ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_handshake_unexpected ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_cookie_response ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_handshake_new_connection ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_data_lossy ... ok
[INFO] [stdout] test net_crypto::tests::send_lossless_no_connection ... ok
[INFO] [stdout] test net_crypto::tests::send_lossless_invalid_packet_id ... ok
[INFO] [stdout] test net_crypto::tests::send_data_packet ... ok
[INFO] [stdout] test net_crypto::tests::main_loop_sends_request_packets ... ok
[INFO] [stdout] test net_crypto::tests::send_lossless ... ok
[INFO] [stdout] test net_crypto::tests::main_loop_sends_status_packets ... ok
[INFO] [stdout] test net_crypto::tests::main_loop_sends_requested_packets ... ok
[INFO] [stdout] test net_crypto::tests::handle_tcp_crypto_handshake ... ok
[INFO] [stdout] test net_crypto::tests::main_loop_removes_timed_out_connections ... ok
[INFO] [stdout] test net_crypto::tests::send_packet_udp ... ok
[INFO] [stdout] test net_crypto::tests::kill_connection_not_established ... ok
[INFO] [stdout] test net_crypto::tests::send_packet_tcp ... ok
[INFO] [stdout] test net_crypto::tests::kill_connection ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_handshake ... ok
[INFO] [stdout] test net_crypto::tests::handle_tcp_cookie_response ... ok
[INFO] [stdout] test net_crypto::tests::set_friend_udp_addr_no_connection ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::put ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::default ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::new ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::put_already_exists ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_handshake_new_address_old_dht_pk ... ok
[INFO] [stdout] test net_crypto::tests::send_packet_udp_attempt ... ok
[INFO] [stdout] test net_crypto::tests::send_request_packet ... ok
[INFO] [stdout] test net_crypto::tests::send_requested_packets ... ok
[INFO] [stdout] test net_crypto::tests::send_request_packet_too_many_missing_packets ... ok
[INFO] [stdout] test net_crypto::tests::send_status_packet ... ok
[INFO] [stdout] test net_crypto::tests::set_friend_udp_addr_update ... ok
[INFO] [stdout] test net_crypto::tests::set_friend_udp_addr ... ok
[INFO] [stdout] test net_crypto::tests::send_status_packet_established ... ok
[INFO] [stdout] test net_crypto::tests::handle_udp_crypto_handshake_new_address_new_dht_pk ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::rand_empty ... ok
[INFO] [stdout] test onion::client::onion_path::tests::onion_path_id ... ok
[INFO] [stdout] test onion::client::onion_path::tests::onion_path_create_udp_onion_request ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::put_max_nodes ... ok
[INFO] [stdout] test onion::client::nodes_pool::tests::rand ... ok
[INFO] [stdout] test onion::client::onion_path::tests::onion_path_node_new ... ok
[INFO] [stdout] test onion::client::onion_path::tests::onion_path_create_tcp_onion_request ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::get_or_random_path_stored ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::get_stored_path ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::get_or_random_path_stored ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::random_path_new_tcp_random ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::get_stored_path ... ok
[INFO] [stdout] test net_crypto::tests::send_packet_no_udp_attempt ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::get_or_random_path_new_udp_random ... ok
[INFO] [stdout] test onion::client::tests::add_remove_friend ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::random_path_new_tcp_random ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::random_path_new_udp_random ... ok
[INFO] [stdout] test onion::client::tests::add_path_node ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::get_or_random_path_new_udp_random ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::get_or_random_path_new_tcp_random ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_announced_pinged_recently ... ok
[INFO] [stdout] test onion::client::tests::announce_loop_empty ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_found ... ok
[INFO] [stdout] test onion::client::tests::friends_loop_empty ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_found_invalid_status ... ok
[INFO] [stdout] test onion::client::tests::handle_data_response_dht_pk_announce_no_friend_with_pk ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_announced_invalid_status ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::get_or_random_path_new_tcp_random ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_announced ... ok
[INFO] [stdout] test onion::client::tests::handle_data_response_dht_pk_announce_invalid_no_reply ... ok
[INFO] [stdout] test onion::client::tests::onion_node_is_outdated ... ok
[INFO] [stdout] test onion::client::tests::onion_node_is_evictable ... ok
[INFO] [stdout] test onion::client::tests::onion_node_update ... ok
[INFO] [stdout] test onion::client::tests::handle_data_response_dht_pk_announce_tcp_node ... ok
[INFO] [stdout] test onion::client::tests::handle_data_response_invalid_inner_payload ... ok
[INFO] [stdout] test onion::client::tests::handle_data_response_dht_pk_announce_udp_node ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::random_path_new_udp_random ... ok
[INFO] [stdout] test onion::client::tests::send_dht_pk_dht_request ... ok
[INFO] [stdout] test onion::client::tests::set_friend_dht_pk ... ok
[INFO] [stdout] test onion::client::tests::set_friend_connected ... ok
[INFO] [stdout] test onion::client::tests::friends_loop_ignore_online ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::self_tests::random_path_stored ... ok
[INFO] [stdout] test onion::client::tests::send_onion_request_udp ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_invalid_payload ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_no_friend_with_pk ... ok
[INFO] [stdout] test onion::client::tests::handle_data_response_invalid_payload ... ok
[INFO] [stdout] test onion::client::tests::handle_announce_response_found_pinged_recently ... ok
[INFO] [stdout] test onion::onion_announce::tests::expired_entry_not_in_entries ... ok
[INFO] [stdout] test onion::onion_announce::tests::announce_entry_expired ... ok
[INFO] [stdout] test onion::onion_announce::tests::announce_entry_valid ... ok
[INFO] [stdout] test onion::client::tests::send_onion_request_tcp ... ok
[INFO] [stdout] test onion::client::tests::populate_path_nodes ... ok
[INFO] [stdout] test onion::client::tests::friends_loop ... ok
[INFO] [stdout] test onion::client::tests::send_dht_pk_onion ... ok
[INFO] [stdout] test onion::client::tests::announce_loop ... ok
[INFO] [stdout] test onion::onion_announce::tests::handle_announce_node_is_found ... ok
[INFO] [stdout] test onion::onion_announce::tests::handle_announce_failed_to_find_ourselves_with_different_data_pk ... ok
[INFO] [stdout] test onion::onion_announce::tests::ping_id_depends_on_all_args ... ok
[INFO] [stdout] test onion::onion_announce::tests::ping_id_respects_timeout_gap ... ok
[INFO] [stdout] test relay::client::client::tests::add_connection ... ok
[INFO] [stdout] test onion::onion_announce::tests::handle_data_request ... ok
[INFO] [stdout] test onion::onion_announce::tests::handle_announce_failed_to_find_node ... ok
[INFO] [stdout] test onion::onion_announce::tests::handle_announce_successfully_announced ... ok
[INFO] [stdout] test relay::client::client::tests::connections_count ... ok
[INFO] [stdout] test relay::client::client::tests::disconnect ... ok
[INFO] [stdout] test relay::client::client::tests::handle_connect_notification_0 ... ok
[INFO] [stdout] test onion::onion_announce::tests::handle_data_request_unknown_destination ... ok
[INFO] [stdout] test relay::client::client::tests::handle_connect_notification ... ok
[INFO] [stdout] test relay::client::client::tests::handle_connect_notification_unexpected ... ok
[INFO] [stdout] test onion::onion_announce::tests::add_to_entries_should_update_existent_entry ... ok
[INFO] [stdout] test relay::client::client::tests::handle_data ... ok
[INFO] [stdout] test relay::client::client::tests::handle_onion_response ... ok
[INFO] [stdout] test relay::client::client::tests::handle_oob_receive ... ok
[INFO] [stdout] test relay::client::client::tests::handle_disconnect_notification_0 ... ok
[INFO] [stdout] test relay::client::client::tests::handle_data_0 ... ok
[INFO] [stdout] test relay::client::client::tests::handle_oob_send ... ok
[INFO] [stdout] test relay::client::client::tests::handle_onion_request ... ok
[INFO] [stdout] test relay::client::client::tests::handle_ping_request ... ok
[INFO] [stdout] test relay::client::client::tests::handle_route_response ... ok
[INFO] [stdout] test relay::client::client::tests::is_connection_online ... ok
[INFO] [stdout] test relay::client::client::tests::handle_route_response_occupied ... ok
[INFO] [stdout] test relay::client::client::tests::handle_pong_response ... ok
[INFO] [stdout] test relay::client::client::tests::handle_route_request ... ok
[INFO] [stdout] test relay::client::client::tests::handle_route_response_0 ... ok
[INFO] [stdout] test relay::client::client::tests::remove_connection_no_link ... ok
[INFO] [stdout] test relay::client::client::tests::handle_data_unexpected ... ok
[INFO] [stdout] test relay::client::client::tests::handle_route_response_unexpected ... ok
[INFO] [stdout] test relay::client::client::tests::send_data ... ok
[INFO] [stdout] test relay::client::client::tests::run_unsuccessful ... ok
[INFO] [stdout] test relay::client::client::tests::send_data_not_online ... ok
[INFO] [stdout] test relay::client::client::tests::send_onion ... ok
[INFO] [stdout] test relay::client::client::tests::send_oob ... ok
[INFO] [stdout] test relay::client::client::tests::sleep ... ok
[INFO] [stdout] test relay::client::connections::tests::add_connection ... ok
[INFO] [stdout] test relay::client::connections::tests::add_connection_no_relay ... ok
[INFO] [stdout] test relay::client::connections::tests::add_relay_connection ... ok
[INFO] [stdout] test relay::client::connections::tests::add_relay_connection_relay_exists ... ok
[INFO] [stdout] test relay::client::connections::tests::add_relay_global ... ok
[INFO] [stdout] test relay::client::connections::tests::get_random_relays ... ok
[INFO] [stdout] test relay::client::connections::tests::get_random_relay ... ok
[INFO] [stdout] test relay::client::connections::tests::get_random_relays_empty ... ok
[INFO] [stdout] test onion::onion_announce::tests::add_to_entries_should_should_not_add_the_farthest_entry ... ok
[INFO] [stdout] test onion::onion_announce::tests::add_to_entries_should_replace_the_farthest_entry ... ok
[INFO] [stdout] test relay::client::connections::tests::main_loop_remove_not_used ... ok
[INFO] [stdout] test relay::client::connections::tests::main_loop_put_to_sleep ... ok
[INFO] [stdout] test relay::client::connections::tests::remove_connection ... ok
[INFO] [stdout] test relay::client::connections::tests::send_data ... ok
[INFO] [stdout] test relay::client::connections::tests::main_loop_remove_unsuccessful ... ok
[INFO] [stdout] test relay::client::connections::tests::remove_connection_no_connection ... ok
[INFO] [stdout] test onion::onion_announce::tests::add_to_entries_when_limit_is_not_reached ... ok
[INFO] [stdout] test onion::onion_announce::tests::add_to_entries_should_replace_timed_out_entries ... ok
[INFO] [stdout] test relay::client::client::tests::handle_disconnect_notification ... ok
[INFO] [stdout] test relay::client::client::tests::is_connection_online_no_connection ... ok
[INFO] [stdout] test relay::client::client::tests::remove_connection_no_connection ... ok
[INFO] [stdout] test relay::client::client::tests::handle_disconnect_notification_unexpected ... ok
[INFO] [stdout] test relay::client::client::tests::remove_connection ... ok
[INFO] [stdout] test relay::client::connections::tests::add_relay_global_exists ... ok
[INFO] [stdout] test relay::client::connections::tests::send_data_no_connection ... ok
[INFO] [stdout] test relay::client::connections::tests::send_onion ... ok
[INFO] [stdout] test relay::client::connections::tests::send_onion_no_relay ... ok
[INFO] [stdout] test relay::client::connections::tests::send_oob ... ok
[INFO] [stdout] test onion::client::paths_pool::tests::friends_tests::random_path_stored ... ok
[INFO] [stdout] test net_crypto::tests::handle_crypto_data_invalid_packet_id ... ok
[INFO] [stdout] test relay::client::connections::tests::send_oob_no_relay ... ok
[INFO] [stdout] test relay::client::connections::tests::set_connection_status ... ok
[INFO] [stdout] test relay::client::connections::tests::set_connection_status_no_connection ... ok
[INFO] [stdout] test relay::codec::tests::decode_encrypted_packet_incomplete ... ok
[INFO] [stdout] test relay::codec::tests::decode_encrypted_packet_wrong_key ... ok
[INFO] [stdout] test relay::codec::tests::decode_encrypted_packet_zero_length ... ok
[INFO] [stdout] test relay::codec::tests::decode_error_from_io ... ok
[INFO] [stdout] test relay::codec::tests::decode_packet_error ... ok
[INFO] [stdout] test relay::codec::tests::decode_packet_imcomplete ... ok
[INFO] [stdout] test relay::codec::tests::encode_error_from_io ... ok
[INFO] [stdout] test relay::client::client::tests::send_data_not_linked ... ok
[INFO] [stdout] test relay::codec::tests::encode_packet_too_big ... ok
[INFO] [stdout] test relay::handshake::codec::tests::client_decode_incomplete ... ok
[INFO] [stdout] test relay::handshake::codec::tests::client_encode_decode ... ok
[INFO] [stdout] test relay::handshake::codec::tests::server_encode_too_big ... ok
[INFO] [stdout] test relay::handshake::codec::tests::client_encode_too_big ... ok
[INFO] [stdout] test relay::handshake::tests::client_handshake_with_bad_payload ... ok
[INFO] [stdout] test relay::handshake::tests::network_handshake ... ok
[INFO] [stdout] test relay::handshake::codec::tests::server_decode_incomplete ... ok
[INFO] [stdout] test relay::handshake::tests::client_handshake_with_different_keypair ... ok
[INFO] [stdout] test relay::codec::tests::encode_decode ... ok
[INFO] [stdout] test relay::links::tests::link_upgrade ... ok
[INFO] [stdout] test relay::links::tests::links_by_id ... ok
[INFO] [stdout] test relay::links::tests::links_downgrade ... ok
[INFO] [stdout] test relay::links::tests::link_new ... ok
[INFO] [stdout] test relay::handshake::tests::secure_communication_with_handshake ... ok
[INFO] [stdout] test relay::links::tests::links_by_id_nonexistent ... ok
[INFO] [stdout] test relay::handshake::tests::server_handshake_with_bad_payload ... ok
[INFO] [stdout] test relay::handshake::codec::tests::server_encode_decode ... ok
[INFO] [stdout] test relay::links::tests::link_downgrade ... ok
[INFO] [stdout] test relay::links::tests::links_by_pk ... ok
[INFO] [stdout] test relay::links::tests::links_default ... ok
[INFO] [stdout] test relay::handshake::tests::server_handshake_with_different_keypair ... ok
[INFO] [stdout] test relay::links::tests::links_take ... ok
[INFO] [stdout] test relay::links::tests::links_insert_alloc_order ... ok
[INFO] [stdout] test relay::links::tests::links_insert_by_id ... ok
[INFO] [stdout] test relay::links::tests::links_new ... ok
[INFO] [stdout] test relay::links::tests::links_insert_same_pk ... ok
[INFO] [stdout] test relay::links::tests::links_take_nonexistent ... ok
[INFO] [stdout] test relay::client::client::tests::spawn ... ok
[INFO] [stdout] test relay::server::server::tests::handle_data_0 ... ok
[INFO] [stdout] test relay::server::server::tests::handle_disconnect_notification_0 ... ok
[INFO] [stdout] test relay::server::server::tests::handle_disconnect_notification_not_connected ... ok
[INFO] [stdout] test relay::links::tests::links_upgrade ... ok
[INFO] [stdout] test relay::server::server::tests::handle_data_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::handle_data_other_not_linked ... ok
[INFO] [stdout] test relay::secure::tests::test_secure_communication ... ok
[INFO] [stdout] test relay::server::server::tests::handle_disconnect_notification ... ok
[INFO] [stdout] test relay::server::server::tests::handle_disconnect_notification_other_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::handle_connect_notification ... ok
[INFO] [stdout] test relay::server::server::tests::handle_onion_response ... ok
[INFO] [stdout] test relay::server::server::tests::handle_disconnect_notification_not_linked ... ok
[INFO] [stdout] test relay::server::server::tests::handle_oob_recv ... ok
[INFO] [stdout] test relay::server::server::tests::handle_oob_send ... ok
[INFO] [stdout] test relay::server::server::tests::handle_onion_request_disabled_onion_loooong_data ... ok
[INFO] [stdout] test relay::server::server::tests::handle_onion_request ... ok
[INFO] [stdout] test relay::server::server::tests::handle_data_self_not_linked ... ok
[INFO] [stdout] test relay::server::server::tests::handle_oob_send_empty_data ... ok
[INFO] [stdout] test relay::server::server::tests::handle_disconnect_notification_other_not_linked ... ok
[INFO] [stdout] test relay::server::server::tests::handle_data_other_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::handle_pong_response_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::handle_route_request_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::handle_ping_request_0 ... ok
[INFO] [stdout] test relay::server::server::tests::handle_ping_request_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::handle_route_request_to_itself ... ok
[INFO] [stdout] test relay::server::server::tests::handle_route_request ... ok
[INFO] [stdout] test relay::server::server::tests::handle_udp_onion_response ... ok
[INFO] [stdout] test relay::server::server::tests::handle_route_response ... ok
[INFO] [stdout] test relay::server::server::tests::handle_udp_onion_response_for_unknown_client ... ok
[INFO] [stdout] test relay::server::server::tests::handle_pong_response_0 ... ok
[INFO] [stdout] test relay::server::server::tests::handle_oob_send_to_loooong_data ... ok
[INFO] [stdout] test relay::server::server::tests::handle_oob_send_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::shutdown_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::shutdown_inner_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::normal_communication_scenario ... ok
[INFO] [stdout] test relay::server::server::tests::handle_ping_request ... ok
[INFO] [stdout] test relay::server::server::tests::shutdown_other_not_connected ... ok
[INFO] [stdout] test relay::server::server::tests::send_anything_to_dropped_client ... ok
[INFO] [stdout] test relay::server::server::tests::shutdown_different_addr ... ok
[INFO] [stdout] test relay::server::server::tests::insert_with_same_pk ... ok
[INFO] [stdout] test relay::server::server::tests::send_onion_request_to_dropped_stream ... ok
[INFO] [stdout] test relay::server::server::tests::shutdown_other_not_linked ... ok
[INFO] [stdout] test relay::server::server::tests::tcp_send_pings_test ... ok
[INFO] [stdout] test relay::server::server::tests::tcp_send_remove_timedouts ... ok
[INFO] [stdout] test state_format::old::tests::dht_state_encode_decode ... ok
[INFO] [stdout] test relay::server::server::tests::server_is_clonable ... ok
[INFO] [stdout] test relay::server::server_ext::tests::run_connection ... ok
[INFO] [stdout] test stats::tests::incoming ... ok
[INFO] [stdout] test state_format::old::tests::eof_encode_decode ... ok
[INFO] [stdout] test relay::server::server_ext::tests::run ... ok
[INFO] [stdout] test state_format::old::tests::friends_encode_decode ... ok
[INFO] [stdout] test state_format::old::tests::no_spam_keys_encode_decode ... ok
[INFO] [stdout] test state_format::old::tests::name_encode_decode ... ok
[INFO] [stdout] test state_format::old::tests::path_nodes_encode_decode ... ok
[INFO] [stdout] test state_format::old::tests::friend_state_encode_decode ... ok
[INFO] [stdout] test state_format::old::tests::tcp_relays_encode_decode ... ok
[INFO] [stdout] test time::tests::const_elapsed ... ok
[INFO] [stdout] test state_format::old::tests::user_status_encode_decode ... ok
[INFO] [stdout] test stats::tests::outgoing ... ok
[INFO] [stderr]      Running tests/state-format-old.rs (/opt/rustwide/target/debug/deps/state_format_old-1427b95e2f64f698)
[INFO] [stdout] test state_format::old::tests::status_msg_encode_decode ... ok
[INFO] [stdout] test state_format::old::tests::state_encode_decode ... ok
[INFO] [stdout] test relay::links::tests::links_insert_240 ... ok
[INFO] [stdout] test relay::links::tests::links_clear ... ok
[INFO] [stdout] test relay::server::server::tests::handle_route_request_too_many_connections ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 497 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]    Doc-tests tox_core
[INFO] [stdout] test load_old_state_format_with_contacts ... ok
[INFO] [stdout] test load_old_state_format_no_friends ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/relay/secure.rs - relay::secure (line 8) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0", kill_on_drop: false }`
[INFO] [stdout] d6dd7dccc21147dfb8fe9a404c4717052c89d48629568ab0cf695d62325228a0
