[INFO] fetching crate hbbft 0.1.1...
[INFO] checking hbbft-0.1.1 against try#31561a63598a0f21fc74c024747ef1310fdd2eb2 for pr-133536
[INFO] extracting crate hbbft 0.1.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate hbbft 0.1.1 on toolchain 31561a63598a0f21fc74c024747ef1310fdd2eb2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hbbft 0.1.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate hbbft 0.1.1
[INFO] tweaked toml for crates.io crate hbbft 0.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 147 packages to latest compatible versions
[INFO] [stderr]       Adding colored v1.9.4 (available: v2.1.0)
[INFO] [stderr]       Adding crossbeam v0.6.0 (available: v0.8.4)
[INFO] [stderr]       Adding crossbeam-channel v0.3.9 (available: v0.5.13)
[INFO] [stderr]       Adding derivative v1.0.4 (available: v2.2.0)
[INFO] [stderr]       Adding env_logger v0.6.2 (available: v0.11.5)
[INFO] [stderr]       Adding itertools v0.8.2 (available: v0.13.0)
[INFO] [stderr]       Adding proptest v0.8.7 (available: v1.5.0)
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.8.5)
[INFO] [stderr]       Adding rand_xorshift v0.1.1 (available: v0.3.0)
[INFO] [stderr]       Adding reed-solomon-erasure v3.1.1 (available: v6.0.0)
[INFO] [stderr]       Adding signifix v0.9.0 (available: v0.10.1)
[INFO] [stderr]       Adding threshold_crypto v0.3.2 (available: v0.4.0)
[INFO] [stderr]       Adding tiny-keccak v1.5.0 (available: v2.0.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 058aae0d3ea58009a617e4ee59a3e5f497d417856dc60d23677fd3d1f4d462b4
[INFO] running `Command { std: "docker" "start" "-a" "058aae0d3ea58009a617e4ee59a3e5f497d417856dc60d23677fd3d1f4d462b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "058aae0d3ea58009a617e4ee59a3e5f497d417856dc60d23677fd3d1f4d462b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "058aae0d3ea58009a617e4ee59a3e5f497d417856dc60d23677fd3d1f4d462b4", kill_on_drop: false }`
[INFO] [stdout] 058aae0d3ea58009a617e4ee59a3e5f497d417856dc60d23677fd3d1f4d462b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+31561a63598a0f21fc74c024747ef1310fdd2eb2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] df0ada854c2238e8fdfa4a69e5395b7ef5580e8ce221dfb4d601ab87a5c63183
[INFO] running `Command { std: "docker" "start" "-a" "df0ada854c2238e8fdfa4a69e5395b7ef5580e8ce221dfb4d601ab87a5c63183", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling parking_lot_core v0.4.0
[INFO] [stderr]    Compiling memsec v0.5.7
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]     Checking backtrace v0.3.74
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling reed-solomon-erasure v3.1.1
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking rand04 v0.1.1
[INFO] [stderr]     Checking rand04_compat v0.1.1
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking pairing v0.14.2
[INFO] [stderr]     Checking tiny-keccak v1.5.0
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking errno v0.2.8
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking hex_fmt v0.3.0
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking rusty-fork v0.2.2
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking parking_lot v0.7.1
[INFO] [stderr]     Checking crossbeam-deque v0.6.3
[INFO] [stderr]     Checking crossbeam-channel v0.3.9
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking init_with v1.1.0
[INFO] [stderr]     Checking colored v1.9.4
[INFO] [stderr]     Checking integer-sqrt v0.1.5
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking signifix v0.9.0
[INFO] [stderr]     Checking crossbeam v0.6.0
[INFO] [stderr]    Compiling rand_derive v0.5.0
[INFO] [stderr]     Checking proptest v0.8.7
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]     Checking serde v1.0.215
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking threshold_crypto v0.3.2
[INFO] [stderr]     Checking docopt v1.1.1
[INFO] [stderr]     Checking hbbft v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/subset/subset.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         #[derivative(Debug(format_with = "util::fmt_hex"))] Vec<u8>,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/subset/subset.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         #[derivative(Debug(format_with = "util::fmt_hex"))] Vec<u8>,
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` 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/binary_agreement/mod.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 86 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/binary_agreement/mod.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 86 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/binary_agreement/mod.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 110 | pub enum FaultKind {
[INFO] [stdout]     |          --------- `FaultKind` 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/binary_agreement/mod.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 110 | pub enum FaultKind {
[INFO] [stdout]     |          --------- `FaultKind` 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/broadcast/error.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 5 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/broadcast/error.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 5 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/broadcast/error.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 28 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/broadcast/error.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 28 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/dynamic_honey_badger/error.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[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_Error`
[INFO] [stdout] 9 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/dynamic_honey_badger/error.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[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_Error`
[INFO] [stdout] 9 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/dynamic_honey_badger/error.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 34 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/dynamic_honey_badger/error.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 34 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/honey_badger/error.rs:9:17
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/honey_badger/error.rs:9:17
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/honey_badger/error.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 36 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/honey_badger/error.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 36 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/queueing_honey_badger/mod.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[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_Error`
[INFO] [stdout] 45 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/queueing_honey_badger/mod.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[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_Error`
[INFO] [stdout] 45 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/sender_queue/error.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[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_Error`
[INFO] [stdout] 6 | pub enum Error<E>
[INFO] [stdout]   |          ----- `Error` 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/sender_queue/error.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[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_Error`
[INFO] [stdout] 6 | pub enum Error<E>
[INFO] [stdout]   |          ----- `Error` 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/subset/error.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/subset/error.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/subset/error.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 33 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/subset/error.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 33 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/sync_key_gen.rs:196:39
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 197 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` 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/sync_key_gen.rs:196:39
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 197 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` 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/sync_key_gen.rs:551:45
[INFO] [stdout]     |
[INFO] [stdout] 551 | #[derive(Clone, Copy, Eq, PartialEq, 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_AckFault`
[INFO] [stdout] 552 | pub enum AckFault {
[INFO] [stdout]     |          -------- `AckFault` 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/sync_key_gen.rs:551:45
[INFO] [stdout]     |
[INFO] [stdout] 551 | #[derive(Clone, Copy, Eq, PartialEq, 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_AckFault`
[INFO] [stdout] 552 | pub enum AckFault {
[INFO] [stdout]     |          -------- `AckFault` 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/sync_key_gen.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 571 | #[derive(Clone, Copy, Eq, PartialEq, 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_PartFault`
[INFO] [stdout] 572 | pub enum PartFault {
[INFO] [stdout]     |          --------- `PartFault` 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/sync_key_gen.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 571 | #[derive(Clone, Copy, Eq, PartialEq, 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_PartFault`
[INFO] [stdout] 572 | pub enum PartFault {
[INFO] [stdout]     |          --------- `PartFault` 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/threshold_decrypt.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 28 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_decrypt.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 28 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_decrypt.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 51 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/threshold_decrypt.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 51 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/threshold_sign.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 34 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_sign.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 34 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_sign.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 57 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/threshold_sign.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 57 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/binary_agreement/mod.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 86 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/binary_agreement/mod.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 86 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/binary_agreement/mod.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 110 | pub enum FaultKind {
[INFO] [stdout]     |          --------- `FaultKind` 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/binary_agreement/mod.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 110 | pub enum FaultKind {
[INFO] [stdout]     |          --------- `FaultKind` 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/broadcast/error.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 5 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/broadcast/error.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 5 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/broadcast/error.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 28 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/broadcast/error.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 28 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/dynamic_honey_badger/error.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[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_Error`
[INFO] [stdout] 9 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/dynamic_honey_badger/error.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[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_Error`
[INFO] [stdout] 9 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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/dynamic_honey_badger/error.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 34 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/dynamic_honey_badger/error.rs:33:24
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 34 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/honey_badger/error.rs:9:17
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/honey_badger/error.rs:9:17
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/honey_badger/error.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 36 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/honey_badger/error.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 36 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/queueing_honey_badger/mod.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[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_Error`
[INFO] [stdout] 45 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/queueing_honey_badger/mod.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[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_Error`
[INFO] [stdout] 45 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/sender_queue/error.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[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_Error`
[INFO] [stdout] 6 | pub enum Error<E>
[INFO] [stdout]   |          ----- `Error` 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/sender_queue/error.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[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_Error`
[INFO] [stdout] 6 | pub enum Error<E>
[INFO] [stdout]   |          ----- `Error` 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/subset/error.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/subset/error.rs:9:35
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Clone, PartialEq, 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_Error`
[INFO] [stdout] 10 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/subset/error.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 33 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/subset/error.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 33 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/sync_key_gen.rs:196:39
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 197 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` 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/sync_key_gen.rs:196:39
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 197 | pub enum Error {
[INFO] [stdout]     |          ----- `Error` 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/sync_key_gen.rs:551:45
[INFO] [stdout]     |
[INFO] [stdout] 551 | #[derive(Clone, Copy, Eq, PartialEq, 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_AckFault`
[INFO] [stdout] 552 | pub enum AckFault {
[INFO] [stdout]     |          -------- `AckFault` 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/sync_key_gen.rs:551:45
[INFO] [stdout]     |
[INFO] [stdout] 551 | #[derive(Clone, Copy, Eq, PartialEq, 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_AckFault`
[INFO] [stdout] 552 | pub enum AckFault {
[INFO] [stdout]     |          -------- `AckFault` 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/sync_key_gen.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 571 | #[derive(Clone, Copy, Eq, PartialEq, 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_PartFault`
[INFO] [stdout] 572 | pub enum PartFault {
[INFO] [stdout]     |          --------- `PartFault` 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/sync_key_gen.rs:571:45
[INFO] [stdout]     |
[INFO] [stdout] 571 | #[derive(Clone, Copy, Eq, PartialEq, 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_PartFault`
[INFO] [stdout] 572 | pub enum PartFault {
[INFO] [stdout]     |          --------- `PartFault` 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/threshold_decrypt.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 28 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_decrypt.rs:27:39
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 28 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_decrypt.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 51 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/threshold_decrypt.rs:50:24
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 51 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/threshold_sign.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 34 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_sign.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 | #[derive(Clone, Eq, PartialEq, 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_Error`
[INFO] [stdout] 34 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` 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/threshold_sign.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Clone, Debug, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_FaultKind`
[INFO] [stdout] 57 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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/threshold_sign.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Clone, Debug, Fail, PartialEq)]
[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_FaultKind`
[INFO] [stdout] 57 | pub enum FaultKind {
[INFO] [stdout]    |          --------- `FaultKind` 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: unused doc comment
[INFO] [stdout]   --> tests/binary_agreement.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | /// Proptest wrapper for `binary_agreement` that runs the test function on generated configurations.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> tests/binary_agreement_mitm.rs:239:26
[INFO] [stdout]     |
[INFO] [stdout] 239 | const NUM_NODES: usize = (NODES_PER_GROUP * 3 + 1);
[INFO] [stdout]     |                          ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 239 - const NUM_NODES: usize = (NODES_PER_GROUP * 3 + 1);
[INFO] [stdout] 239 + const NUM_NODES: usize = NODES_PER_GROUP * 3 + 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unused `hbbft::Step` in tuple element 1 that must be used
[INFO] [stdout]    --> tests/binary_agreement_mitm.rs:482:9
[INFO] [stdout]     |
[INFO] [stdout] 482 |         net.crank_expect(&mut rng);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: The algorithm step result must be used.
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> tests/binary_agreement_mitm.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout] 1   | #![deny(unused_must_use)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hbbft` (test "binary_agreement_mitm") due to 1 previous error; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> tests/net_dynamic_hb.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | /// Proptest wrapper for `do_drop_and_re_add`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout]     |         ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         (prev.high != self.high || prev.current != self.current)
[INFO] [stdout] 154 +         prev.high != self.high || prev.current != self.current
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> tests/net/proptest.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout]     |         ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -         (prev.current != self.current || prev.low != self.low)
[INFO] [stdout] 167 +         prev.current != self.current || prev.low != self.low
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "df0ada854c2238e8fdfa4a69e5395b7ef5580e8ce221dfb4d601ab87a5c63183", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df0ada854c2238e8fdfa4a69e5395b7ef5580e8ce221dfb4d601ab87a5c63183", kill_on_drop: false }`
[INFO] [stdout] df0ada854c2238e8fdfa4a69e5395b7ef5580e8ce221dfb4d601ab87a5c63183
