[INFO] cloning repository https://github.com/ThomWright/kvs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ThomWright/kvs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThomWright%2Fkvs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThomWright%2Fkvs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4f81473ffde0a0824b77e9ceec5f439b898d4972
[INFO] testing ThomWright/kvs/4f81473ffde0a0824b77e9ceec5f439b898d4972 against nightly-2024-10-28+rustflags=-Zrandomize-layout for randomize-layout
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThomWright%2Fkvs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ThomWright/kvs on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ThomWright/kvs
[INFO] finished tweaking git repo https://github.com/ThomWright/kvs
[INFO] tweaked toml for git repo https://github.com/ThomWright/kvs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ThomWright/kvs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3702b79baac9bd1a7f072e09c50db5c7b82a309b947e9596ce2a12c6f0241b33
[INFO] running `Command { std: "docker" "start" "-a" "3702b79baac9bd1a7f072e09c50db5c7b82a309b947e9596ce2a12c6f0241b33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3702b79baac9bd1a7f072e09c50db5c7b82a309b947e9596ce2a12c6f0241b33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3702b79baac9bd1a7f072e09c50db5c7b82a309b947e9596ce2a12c6f0241b33", kill_on_drop: false }`
[INFO] [stdout] 3702b79baac9bd1a7f072e09c50db5c7b82a309b947e9596ce2a12c6f0241b33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Zrandomize-layout" "-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" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cdf73f39ab9b63beeb5c5285569af52fec54a46775843c77b6f447e0048f1bf7
[INFO] running `Command { std: "docker" "start" "-a" "cdf73f39ab9b63beeb5c5285569af52fec54a46775843c77b6f447e0048f1bf7", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling cfg-if v0.1.9
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.42
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling cc v1.0.40
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling arrayvec v0.4.11
[INFO] [stderr]    Compiling smallvec v0.6.13
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]    Compiling crossbeam-utils v0.6.6
[INFO] [stderr]    Compiling slog v2.5.2
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]    Compiling bitflags v1.1.0
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.31
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling time v0.1.42
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling atty v0.2.13
[INFO] [stderr]    Compiling num_cpus v1.12.0
[INFO] [stderr]    Compiling lock_api v0.3.1
[INFO] [stderr]    Compiling unicode-width v0.1.5
[INFO] [stderr]    Compiling rustc-demangle v0.1.16
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling chrono v0.4.9
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.7.2
[INFO] [stderr]    Compiling backtrace v0.3.34
[INFO] [stderr]    Compiling crossbeam-channel v0.3.9
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling rayon v1.3.0
[INFO] [stderr]    Compiling slog-term v2.4.1
[INFO] [stderr]    Compiling crossbeam-channel v0.4.0
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling serde_derive v1.0.97
[INFO] [stderr]    Compiling failure v0.1.5
[INFO] [stderr]    Compiling serde_bytes v0.11.2
[INFO] [stderr]    Compiling serde_json v1.0.40
[INFO] [stderr]    Compiling sled v0.29.2
[INFO] [stderr]    Compiling kvs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/engines/kvs/store.rs:297:24
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^--------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Command`
[INFO] [stdout] 298 | struct Command {
[INFO] [stdout]     |        ------- `Command` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/engines/kvs/store.rs:297:35
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Command`
[INFO] [stdout] 298 | struct Command {
[INFO] [stdout]     |        ------- `Command` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, failure::Fail, Clone, Copy)]
[INFO] [stdout]   |                 ^------------
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `Fail` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsError`
[INFO] [stdout] 9 | pub enum KvsError {
[INFO] [stdout]   |          -------- `KvsError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, failure::Fail, Clone, Copy)]
[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_KvsError`
[INFO] [stdout] 9 | pub enum KvsError {
[INFO] [stdout]   |          -------- `KvsError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/client.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Debug, Clone, Copy, failure::Fail)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Fail` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 80 | #[allow(missing_docs)]
[INFO] [stdout] 81 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/client.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Debug, Clone, Copy, failure::Fail)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Display` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 80 | #[allow(missing_docs)]
[INFO] [stdout] 81 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/network/data.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                        ^--------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Serialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkCommand`
[INFO] [stdout] 8 | pub enum NetworkCommand {
[INFO] [stdout]   |          -------------- `NetworkCommand` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/network/data.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkCommand`
[INFO] [stdout] 8 | pub enum NetworkCommand {
[INFO] [stdout]   |          -------------- `NetworkCommand` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkResponse`
[INFO] [stdout] 36 | pub enum NetworkResponse {
[INFO] [stdout]    |          --------------- `NetworkResponse` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkResponse`
[INFO] [stdout] 36 | pub enum NetworkResponse {
[INFO] [stdout]    |          --------------- `NetworkResponse` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                         ^----------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:54
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `Fail` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:54
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `Display` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-client.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsClientCliError`
[INFO] [stdout] 107 | enum KvsClientCliError {
[INFO] [stdout]     |      ----------------- `KvsClientCliError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-client.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KvsClientCliError`
[INFO] [stdout] 107 | enum KvsClientCliError {
[INFO] [stdout]     |      ----------------- `KvsClientCliError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-server.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsServerError`
[INFO] [stdout] 103 | enum KvsServerError {
[INFO] [stdout]     |      -------------- `KvsServerError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-server.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KvsServerError`
[INFO] [stdout] 103 | enum KvsServerError {
[INFO] [stdout]     |      -------------- `KvsServerError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.57s
[INFO] running `Command { std: "docker" "inspect" "cdf73f39ab9b63beeb5c5285569af52fec54a46775843c77b6f447e0048f1bf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cdf73f39ab9b63beeb5c5285569af52fec54a46775843c77b6f447e0048f1bf7", kill_on_drop: false }`
[INFO] [stdout] cdf73f39ab9b63beeb5c5285569af52fec54a46775843c77b6f447e0048f1bf7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Zrandomize-layout" "-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" "+nightly-2024-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 384a29c19a0e3f7a9e30b0b34edd400137fd69bcbdd43c730d855fc0ea0b6fe5
[INFO] running `Command { std: "docker" "start" "-a" "384a29c19a0e3f7a9e30b0b34edd400137fd69bcbdd43c730d855fc0ea0b6fe5", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling getrandom v0.1.9
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling ucd-util v0.1.5
[INFO] [stderr]    Compiling regex-automata v0.1.8
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling regex-syntax v0.6.10
[INFO] [stderr]    Compiling escargot v0.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.5
[INFO] [stderr]    Compiling predicates-core v1.0.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling c2-chacha v0.2.2
[INFO] [stderr]    Compiling aho-corasick v0.7.4
[INFO] [stderr]    Compiling csv-core v0.1.6
[INFO] [stderr]    Compiling bstr v0.2.8
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling itertools v0.8.0
[INFO] [stderr]    Compiling float-cmp v0.4.0
[INFO] [stderr]    Compiling difference v2.0.0
[INFO] [stderr]    Compiling normalize-line-endings v0.2.2
[INFO] [stderr]    Compiling treeline v0.1.0
[INFO] [stderr]    Compiling same-file v1.0.5
[INFO] [stderr]    Compiling cast v0.2.2
[INFO] [stderr]    Compiling predicates-tree v1.0.0
[INFO] [stderr]    Compiling walkdir v2.2.9
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand_xoshiro v0.3.1
[INFO] [stderr]    Compiling csv v1.1.1
[INFO] [stderr]    Compiling rand_os v0.2.2
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/engines/kvs/store.rs:297:24
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^--------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Command`
[INFO] [stdout] 298 | struct Command {
[INFO] [stdout]     |        ------- `Command` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/engines/kvs/store.rs:297:35
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Command`
[INFO] [stdout] 298 | struct Command {
[INFO] [stdout]     |        ------- `Command` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, failure::Fail, Clone, Copy)]
[INFO] [stdout]   |                 ^------------
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `Fail` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsError`
[INFO] [stdout] 9 | pub enum KvsError {
[INFO] [stdout]   |          -------- `KvsError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, failure::Fail, Clone, Copy)]
[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_KvsError`
[INFO] [stdout] 9 | pub enum KvsError {
[INFO] [stdout]   |          -------- `KvsError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/client.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Debug, Clone, Copy, failure::Fail)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Fail` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 80 | #[allow(missing_docs)]
[INFO] [stdout] 81 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/client.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Debug, Clone, Copy, failure::Fail)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Display` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 80 | #[allow(missing_docs)]
[INFO] [stdout] 81 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/network/data.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                        ^--------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Serialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkCommand`
[INFO] [stdout] 8 | pub enum NetworkCommand {
[INFO] [stdout]   |          -------------- `NetworkCommand` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/network/data.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkCommand`
[INFO] [stdout] 8 | pub enum NetworkCommand {
[INFO] [stdout]   |          -------------- `NetworkCommand` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkResponse`
[INFO] [stdout] 36 | pub enum NetworkResponse {
[INFO] [stdout]    |          --------------- `NetworkResponse` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkResponse`
[INFO] [stdout] 36 | pub enum NetworkResponse {
[INFO] [stdout]    |          --------------- `NetworkResponse` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                         ^----------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:54
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `Fail` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:54
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `Display` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tinytemplate v1.0.2
[INFO] [stderr]    Compiling remove_dir_all v0.5.2
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling panic-control v0.1.4
[INFO] [stderr]    Compiling criterion-plot v0.4.0
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-server.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsServerError`
[INFO] [stdout] 103 | enum KvsServerError {
[INFO] [stdout]     |      -------------- `KvsServerError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-server.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KvsServerError`
[INFO] [stdout] 103 | enum KvsServerError {
[INFO] [stdout]     |      -------------- `KvsServerError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-client.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsClientCliError`
[INFO] [stdout] 107 | enum KvsClientCliError {
[INFO] [stdout]     |      ----------------- `KvsClientCliError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-client.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KvsClientCliError`
[INFO] [stdout] 107 | enum KvsClientCliError {
[INFO] [stdout]     |      ----------------- `KvsClientCliError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex v1.2.0
[INFO] [stderr]    Compiling criterion v0.3.0
[INFO] [stderr]    Compiling tempfile v3.0.8
[INFO] [stderr]    Compiling predicates v1.0.1
[INFO] [stderr]    Compiling assert_cmd v0.11.1
[INFO] [stderr]    Compiling kvs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-client.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsClientCliError`
[INFO] [stdout] 107 | enum KvsClientCliError {
[INFO] [stdout]     |      ----------------- `KvsClientCliError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-client.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KvsClientCliError`
[INFO] [stdout] 107 | enum KvsClientCliError {
[INFO] [stdout]     |      ----------------- `KvsClientCliError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-server.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Fail` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsServerError`
[INFO] [stdout] 103 | enum KvsServerError {
[INFO] [stdout]     |      -------------- `KvsServerError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bin/kvs-server.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[derive(Debug, failure::Fail)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Display` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_KvsServerError`
[INFO] [stdout] 103 | enum KvsServerError {
[INFO] [stdout]     |      -------------- `KvsServerError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/engines/kvs/store.rs:297:24
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^--------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Serialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Command`
[INFO] [stdout] 298 | struct Command {
[INFO] [stdout]     |        ------- `Command` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/engines/kvs/store.rs:297:35
[INFO] [stdout]     |
[INFO] [stdout] 297 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Deserialize` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Command`
[INFO] [stdout] 298 | struct Command {
[INFO] [stdout]     |        ------- `Command` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, failure::Fail, Clone, Copy)]
[INFO] [stdout]   |                 ^------------
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `Fail` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_KvsError`
[INFO] [stdout] 9 | pub enum KvsError {
[INFO] [stdout]   |          -------- `KvsError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/errors.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Debug, failure::Fail, Clone, Copy)]
[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_KvsError`
[INFO] [stdout] 9 | pub enum KvsError {
[INFO] [stdout]   |          -------- `KvsError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/client.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Debug, Clone, Copy, failure::Fail)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Fail` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error`
[INFO] [stdout] 80 | #[allow(missing_docs)]
[INFO] [stdout] 81 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/client.rs:79:30
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[derive(Debug, Clone, Copy, failure::Fail)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Display` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error`
[INFO] [stdout] 80 | #[allow(missing_docs)]
[INFO] [stdout] 81 | pub enum Error {
[INFO] [stdout]    |          ----- `Error` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/network/data.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                        ^--------
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Serialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkCommand`
[INFO] [stdout] 8 | pub enum NetworkCommand {
[INFO] [stdout]   |          -------------- `NetworkCommand` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/network/data.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkCommand`
[INFO] [stdout] 8 | pub enum NetworkCommand {
[INFO] [stdout]   |          -------------- `NetworkCommand` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NetworkResponse`
[INFO] [stdout] 36 | pub enum NetworkResponse {
[INFO] [stdout]    |          --------------- `NetworkResponse` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NetworkResponse`
[INFO] [stdout] 36 | pub enum NetworkResponse {
[INFO] [stdout]    |          --------------- `NetworkResponse` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                         ^----------
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         `Deserialize` is not local
[INFO] [stdout]    |                                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_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 `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:54
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `Fail` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/network/data.rs:42:54
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, failure::Fail)]
[INFO] [stdout]    |                                                      ^------------
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      `Display` is not local
[INFO] [stdout]    |                                                      move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ErrorType`
[INFO] [stdout] 43 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `failure::Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `failure::Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `failure::Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustc6eFyLH/symbols.o" "/opt/rustwide/target/debug/deps/thread_pool-189c3d1c7ed2936a.thread_pool.88a433ea0984de1b-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/thread_pool-189c3d1c7ed2936a.clrm2mxbwmoau3zz7im6kvylu.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libpanic_control-3484b74d6ba8eea7.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-a09fad3b5321e7d6.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-f9c3dff41ad42661.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-ad2aef31af6addd3.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-e3f907dc03deb913.rlib" "/opt/rustwide/target/debug/deps/libkvs-812c5efebe3be8a0.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-cbb9049d978ee5ee.rlib" "/opt/rustwide/target/debug/deps/librayon-756a8afab7b82dcb.rlib" "/opt/rustwide/target/debug/deps/librayon_core-f8f66f42400ed91e.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-71c744d95c08986c.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_queue-0cb2b23f0d4aa953.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-abde434463e5cfff.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-83fd8b64160107e6.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-e94e504ffbe6a00a.rlib" "/opt/rustwide/target/debug/deps/libeither-5cfaeae07c065988.rlib" "/opt/rustwide/target/debug/deps/libserde_json-beb4ec5ad52e8714.rlib" "/opt/rustwide/target/debug/deps/libryu-3de811efc2d64db2.rlib" "/opt/rustwide/target/debug/deps/libitoa-49876a9142f55064.rlib" "/opt/rustwide/target/debug/deps/libfailure-d5474f5b90bfafe5.rlib" "/opt/rustwide/target/debug/deps/libbacktrace-1164d464d761c796.rlib" "/opt/rustwide/target/debug/deps/libbacktrace_sys-bb353fdce0d31c10.rlib" "/opt/rustwide/target/debug/deps/librustc_demangle-50319aa0f3b5548f.rlib" "/opt/rustwide/target/debug/deps/libsled-8b6f177e2de38480.rlib" "/opt/rustwide/target/debug/deps/libfxhash-0fad20b6d722616d.rlib" "/opt/rustwide/target/debug/deps/libserde_bytes-b9941256710682b2.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-80a1c3add234de4d.rlib" "/opt/rustwide/target/debug/deps/liblog-83920b5278165148.rlib" "/opt/rustwide/target/debug/deps/libbincode-a1a7df525901c669.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-8cbb9c750b199ebc.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-77bd51b2a8dad401.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-069d54366b264445.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-1bcbe2b311575f8f.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-cf697c41a3382050.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-b5c81b7f5bf7098a.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-406f858b88df6b9d.rlib" "/opt/rustwide/target/debug/deps/libnodrop-49099b4e7ea0d3ee.rlib" "/opt/rustwide/target/debug/deps/libparking_lot-ddfea84245c29e83.rlib" "/opt/rustwide/target/debug/deps/libparking_lot_core-14807779152c293e.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-ef02fa3dc8e26a39.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-d17bd711dcf8127d.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-a1b1ac97f2fc1404.rlib" "/opt/rustwide/target/debug/deps/liblock_api-04090735626a07ac.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-f9d12082f011eedc.rlib" "/opt/rustwide/target/debug/deps/libserde-25b608f3a34cb3f5.rlib" "/opt/rustwide/target/debug/deps/libfs2-6db566070e7beb8c.rlib" "/opt/rustwide/target/debug/deps/liblibc-7a3c919e3f682a20.rlib" "/opt/rustwide/target/debug/deps/libslog-e573a11efa37bf39.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-fb8c387236db3c10.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-b251837809b2f64b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-cbef83eaa4e01f04.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-12a772286de2fca7.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-023bbe5ada7abfc3.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-de2bcdf10ec69c2b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-8e1754df350800fd.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-06c2ab7b9c32e037.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-51d2621fc57a281b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-54a930408793772f.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-0c7d01cba400dcb2.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-b9f84d69e331b75b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-eec95493246aae39.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-6f6676c475e08ab0.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-799d520624f8b2e0.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-fcf93d4842acd9a9.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-395a38b8e0851c9b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-d453bab70303062c.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-0e6386368b0a24e8.rlib" "-Wl,-Bdynamic" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/backtrace-sys-d4eadc4b9cf6516a/out" "-L" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/thread_pool-189c3d1c7ed2936a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
[INFO] [stdout]            #0 0x0000794ba3f49887 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3f49887)
[INFO] [stdout]            #1 0x0000794ba3f49c9c SignalHandler(int) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3f49c9c)
[INFO] [stdout]            #2 0x0000794b9fe19520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
[INFO] [stdout]            #3 0x0000794b9ff778c6 (/lib/x86_64-linux-gnu/libc.so.6+0x1a08c6)
[INFO] [stdout]            #4 0x0000794ba6e67458 llvm::StringTableBuilder::write(unsigned char*) const (.warm) bolt-pseudo.o:0:0
[INFO] [stdout]            #5 0x0000794ba3efb121 std::_Function_handler<void (), llvm::parallelFor(unsigned long, unsigned long, llvm::function_ref<void (unsigned long)>)::$_0>::_M_invoke(std::_Any_data const&) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3efb121)
[INFO] [stdout]            #6 0x0000794ba3ef988d llvm::parallelFor(unsigned long, unsigned long, llvm::function_ref<void (unsigned long)>) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3ef988d)
[INFO] [stdout]            #7 0x0000598a46313dcd lld::elf::MergeNoTailSection::writeTo(unsigned char*) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/rust-lld+0x485dcd)
[INFO] [stdout]            #8 0x0000598a462a87da void lld::elf::OutputSection::writeTo<llvm::object::ELFType<(llvm::endianness)1, true> >(unsigned char*, llvm::parallel::TaskGroup&)::'lambda'(unsigned long, unsigned long)::operator()(unsigned long, unsigned long) const OutputSections.cpp:0:0
[INFO] [stdout]            #9 0x0000794ba3efaff2 std::_Function_handler<void (), llvm::parallel::TaskGroup::spawn(std::function<void ()>, bool)::$_0>::_M_invoke(std::_Any_data const&) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3efaff2)
[INFO] [stdout]           #10 0x0000794ba3efa3aa llvm::parallel::detail::(anonymous namespace)::ThreadPoolExecutor::work(llvm::ThreadPoolStrategy, unsigned int) (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3efa3aa)
[INFO] [stdout]           #11 0x0000794ba3e75600 execute_native_thread_routine (/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/libLLVM.so.19.1-rust-1.84.0-nightly+0x3e75600)
[INFO] [stdout]           #12 0x0000794b9fe6bac3 (/lib/x86_64-linux-gnu/libc.so.6+0x94ac3)
[INFO] [stdout]           #13 0x0000794b9fefca04 __clone (/lib/x86_64-linux-gnu/libc.so.6+0x125a04)
[INFO] [stdout]           rust-lld: error: failed to write output '/opt/rustwide/target/debug/deps/thread_pool-189c3d1c7ed2936a': No such file or directory
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kvs` (test "thread_pool") due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "384a29c19a0e3f7a9e30b0b34edd400137fd69bcbdd43c730d855fc0ea0b6fe5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "384a29c19a0e3f7a9e30b0b34edd400137fd69bcbdd43c730d855fc0ea0b6fe5", kill_on_drop: false }`
[INFO] [stdout] 384a29c19a0e3f7a9e30b0b34edd400137fd69bcbdd43c730d855fc0ea0b6fe5
