[INFO] fetching crate cue-sdk 0.0.3...
[INFO] checking cue-sdk-0.0.3 against master#3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777 for pr-132289
[INFO] extracting crate cue-sdk 0.0.3 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate cue-sdk 0.0.3 on toolchain 3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cue-sdk 0.0.3
[INFO] finished tweaking crates.io crate cue-sdk 0.0.3
[INFO] tweaked toml for crates.io crate cue-sdk 0.0.3 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate crates.io crate cue-sdk 0.0.3 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" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strum v0.19.5
[INFO] [stderr]   Downloaded semver-parser v0.10.1
[INFO] [stderr]   Downloaded pin-project-lite v0.1.7
[INFO] [stderr]   Downloaded hermit-abi v0.1.15
[INFO] [stderr]   Downloaded num-derive v0.3.2
[INFO] [stderr]   Downloaded addr2line v0.13.0
[INFO] [stderr]   Downloaded miniz_oxide v0.4.1
[INFO] [stderr]   Downloaded backtrace v0.3.50
[INFO] [stderr]   Downloaded num-traits v0.2.12
[INFO] [stderr]   Downloaded aho-corasick v0.7.13
[INFO] [stderr]   Downloaded proc-macro2 v1.0.21
[INFO] [stderr]   Downloaded object v0.20.0
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.9
[INFO] [stderr]   Downloaded syn v1.0.40
[INFO] [stderr]   Downloaded regex v1.3.9
[INFO] [stderr]   Downloaded tokio v0.3.3
[INFO] [stderr]   Downloaded strum_macros v0.19.4
[INFO] [stderr]   Downloaded regex-syntax v0.6.18
[INFO] [stderr]   Downloaded libc v0.2.77
[INFO] [stderr]   Downloaded gimli v0.22.0
[INFO] [stderr]   Downloaded cue-sdk-sys v0.0.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f0c42f0b8ea52a4be79ef67497f531bf1f8005b579d2d9af8f330f87b3a4e023
[INFO] running `Command { std: "docker" "start" "-a" "f0c42f0b8ea52a4be79ef67497f531bf1f8005b579d2d9af8f330f87b3a4e023", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f0c42f0b8ea52a4be79ef67497f531bf1f8005b579d2d9af8f330f87b3a4e023", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0c42f0b8ea52a4be79ef67497f531bf1f8005b579d2d9af8f330f87b3a4e023", kill_on_drop: false }`
[INFO] [stdout] f0c42f0b8ea52a4be79ef67497f531bf1f8005b579d2d9af8f330f87b3a4e023
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+3f1be1ec7ec3d8e80beb381ee82164a0aa3ca777" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d90e0e70739ab6827dbbb596fd81d9264ffe17b605f06fac9a119ee23ea96ffa
[INFO] running `Command { std: "docker" "start" "-a" "d90e0e70739ab6827dbbb596fd81d9264ffe17b605f06fac9a119ee23ea96ffa", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]    Compiling proc-macro2 v1.0.21
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking gimli v0.22.0
[INFO] [stderr]     Checking miniz_oxide v0.4.1
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]     Checking object v0.20.0
[INFO] [stderr]    Compiling cue-sdk-sys v0.0.5
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking semver-parser v0.10.1
[INFO] [stderr]    Compiling tokio v0.3.3
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]     Checking aho-corasick v0.7.13
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]     Checking getrandom v0.1.15
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking semver v0.11.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking pin-project-lite v0.1.7
[INFO] [stderr]     Checking humantime v2.0.1
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking strum v0.19.5
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking addr2line v0.13.0
[INFO] [stderr]     Checking backtrace v0.3.50
[INFO] [stderr]     Checking env_logger v0.8.1
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling num-derive v0.3.2
[INFO] [stderr]    Compiling strum_macros v0.19.4
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking cue-sdk v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::Utf8Error`
[INFO] [stdout]   --> src/internal/c_utils.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     use std::str::Utf8Error;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/mod.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CueDeviceFromDeviceInfoAndIndexError`
[INFO] [stdout] ...
[INFO] [stdout] 52 | pub struct CueDeviceFromDeviceInfoAndIndexError(GetLedPositionsError);
[INFO] [stdout]    |            ------------------------------------ `CueDeviceFromDeviceInfoAndIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/mod.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CueDeviceFromDeviceInfoAndIndexError`
[INFO] [stdout] ...
[INFO] [stdout] 52 | pub struct CueDeviceFromDeviceInfoAndIndexError(GetLedPositionsError);
[INFO] [stdout]    |            ------------------------------------ `CueDeviceFromDeviceInfoAndIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:129:35
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetPropertyError`
[INFO] [stdout] 130 | pub enum GetPropertyError {
[INFO] [stdout]     |          ---------------- `GetPropertyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:129:35
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetPropertyError`
[INFO] [stdout] 130 | pub enum GetPropertyError {
[INFO] [stdout]     |          ---------------- `GetPropertyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:145:35
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetLedPositionsError`
[INFO] [stdout] ...
[INFO] [stdout] 150 | pub struct GetLedPositionsError(Option<CueSdkError>);
[INFO] [stdout]     |            -------------------- `GetLedPositionsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:145:35
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetLedPositionsError`
[INFO] [stdout] ...
[INFO] [stdout] 150 | pub struct GetLedPositionsError(Option<CueSdkError>);
[INFO] [stdout]     |            -------------------- `GetLedPositionsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetLedsError`
[INFO] [stdout] 154 | pub enum GetLedsError {
[INFO] [stdout]     |          ------------ `GetLedsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetLedsError`
[INFO] [stdout] 154 | pub enum GetLedsError {
[INFO] [stdout]     |          ------------ `GetLedsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetLedColorsError`
[INFO] [stdout] 163 | pub enum GetLedColorsError {
[INFO] [stdout]     |          ----------------- `GetLedColorsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetLedColorsError`
[INFO] [stdout] 163 | pub enum GetLedColorsError {
[INFO] [stdout]     |          ----------------- `GetLedColorsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ChannelFromFfiError`
[INFO] [stdout] 27 | pub enum ChannelFromFfiError {
[INFO] [stdout]    |          ------------------- `ChannelFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ChannelFromFfiError`
[INFO] [stdout] 27 | pub enum ChannelFromFfiError {
[INFO] [stdout]    |          ------------------- `ChannelFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/channels.rs:9:24
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ChannelsFromFfiError`
[INFO] [stdout] 10 | pub enum ChannelsFromFfiError {
[INFO] [stdout]    |          -------------------- `ChannelsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/channels.rs:9:24
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ChannelsFromFfiError`
[INFO] [stdout] 10 | pub enum ChannelsFromFfiError {
[INFO] [stdout]    |          -------------------- `ChannelsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/channel/device.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
[INFO] [stdout]   |                                         ^------------
[INFO] [stdout]   |                                         |
[INFO] [stdout]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ChannelDeviceType`
[INFO] [stdout] 6 | #[repr(u32)]
[INFO] [stdout] 7 | pub enum ChannelDeviceType {
[INFO] [stdout]   |          ----------------- `ChannelDeviceType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/device.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ChannelDeviceFromFfiError`
[INFO] [stdout] 30 | #[fail(display = "Invalid device_led_count: {}", device_led_count)]
[INFO] [stdout] 31 | pub struct ChannelDeviceFromFfiError {
[INFO] [stdout]    |            ------------------------- `ChannelDeviceFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/device.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ChannelDeviceFromFfiError`
[INFO] [stdout] 30 | #[fail(display = "Invalid device_led_count: {}", device_led_count)]
[INFO] [stdout] 31 | pub struct ChannelDeviceFromFfiError {
[INFO] [stdout]    |            ------------------------- `ChannelDeviceFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/device_type.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
[INFO] [stdout]   |                                         ^------------
[INFO] [stdout]   |                                         |
[INFO] [stdout]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceType`
[INFO] [stdout] 6 | #[repr(u32)]
[INFO] [stdout] 7 | pub enum DeviceType {
[INFO] [stdout]   |          ---------- `DeviceType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/id.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]   |                        ^---
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Fail` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeviceIdFromFfiError`
[INFO] [stdout] 8 | #[fail(display = "Invalid utf8 for the device id from ffi: {:?}", _0)]
[INFO] [stdout] 9 | pub struct DeviceIdFromFfiError(pub Utf8Error);
[INFO] [stdout]   |            -------------------- `DeviceIdFromFfiError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/id.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]   |                        ^---
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Display` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeviceIdFromFfiError`
[INFO] [stdout] 8 | #[fail(display = "Invalid utf8 for the device id from ffi: {:?}", _0)]
[INFO] [stdout] 9 | pub struct DeviceIdFromFfiError(pub Utf8Error);
[INFO] [stdout]   |            -------------------- `DeviceIdFromFfiError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/info.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CueDeviceInfoFromFfiError`
[INFO] [stdout] 12 | pub enum CueDeviceInfoFromFfiError {
[INFO] [stdout]    |          ------------------------- `CueDeviceInfoFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/info.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CueDeviceInfoFromFfiError`
[INFO] [stdout] 12 | pub enum CueDeviceInfoFromFfiError {
[INFO] [stdout]    |          ------------------------- `CueDeviceInfoFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/layout.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Copy, Clone, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PhysicalLayout`
[INFO] [stdout] 42 | #[repr(u32)]
[INFO] [stdout] 43 | pub enum PhysicalLayout {
[INFO] [stdout]    |          -------------- `PhysicalLayout` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/layout.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_LogicalLayout`
[INFO] [stdout] 57 | #[repr(u32)]
[INFO] [stdout] 58 | pub enum LogicalLayout {
[INFO] [stdout]    |          ------------- `LogicalLayout` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[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:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
[INFO] [stdout]   |                                         ^------------
[INFO] [stdout]   |                                         |
[INFO] [stdout]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CueSdkError`
[INFO] [stdout] 7 | #[repr(u32)]
[INFO] [stdout] 8 | pub enum CueSdkError {
[INFO] [stdout]   |          ----------- `CueSdkError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/event/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CueEventFromFfiError`
[INFO] [stdout] 30 | pub enum CueEventFromFfiError {
[INFO] [stdout]    |          -------------------- `CueEventFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/event/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CueEventFromFfiError`
[INFO] [stdout] 30 | pub enum CueEventFromFfiError {
[INFO] [stdout]    |          -------------------- `CueEventFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/mod.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandshakeError`
[INFO] [stdout] 12 | pub enum HandshakeError {
[INFO] [stdout]    |          -------------- `HandshakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/mod.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandshakeError`
[INFO] [stdout] 12 | pub enum HandshakeError {
[INFO] [stdout]    |          -------------- `HandshakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/protocol_details.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ProtocolDetailsFromFfiError`
[INFO] [stdout] 18 | pub enum ProtocolDetailsFromFfiError {
[INFO] [stdout]    |          --------------------------- `ProtocolDetailsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/protocol_details.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ProtocolDetailsFromFfiError`
[INFO] [stdout] 18 | pub enum ProtocolDetailsFromFfiError {
[INFO] [stdout]    |          --------------------------- `ProtocolDetailsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/key.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Copy, Clone, FromPrimitive, PartialEq)]
[INFO] [stdout]   |                              ^------------
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              `FromPrimitive` is not local
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KeyId`
[INFO] [stdout] 8 | #[repr(u32)]
[INFO] [stdout] 9 | pub enum KeyId {
[INFO] [stdout]   |          ----- `KeyId` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/led/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CheckColorError`
[INFO] [stdout] 31 | pub enum CheckColorError {
[INFO] [stdout]    |          --------------- `CheckColorError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/led/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CheckColorError`
[INFO] [stdout] 31 | pub enum CheckColorError {
[INFO] [stdout]    |          --------------- `CheckColorError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/mod.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LedColorFromFfiError`
[INFO] [stdout] ...
[INFO] [stdout] 126 | pub struct LedColorFromFfiError(i32, i32, i32);
[INFO] [stdout]     |            -------------------- `LedColorFromFfiError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/mod.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LedColorFromFfiError`
[INFO] [stdout] ...
[INFO] [stdout] 126 | pub struct LedColorFromFfiError(i32, i32, i32);
[INFO] [stdout]     |            -------------------- `LedColorFromFfiError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/led/id.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KeyboardLedId`
[INFO] [stdout] 62 | #[repr(u32)]
[INFO] [stdout] 63 | pub enum KeyboardLedId {
[INFO] [stdout]    |          ------------- `KeyboardLedId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MouseLedId`
[INFO] [stdout] 235 | #[repr(u32)]
[INFO] [stdout] 236 | pub enum MouseLedId {
[INFO] [stdout]     |          ---------- `MouseLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_HeadsetLedId`
[INFO] [stdout] 246 | #[repr(u32)]
[INFO] [stdout] 247 | pub enum HeadsetLedId {
[INFO] [stdout]     |          ------------ `HeadsetLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MouseMatLedId`
[INFO] [stdout] 253 | #[repr(u32)]
[INFO] [stdout] 254 | pub enum MouseMatLedId {
[INFO] [stdout]     |          ------------- `MouseMatLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:272:17
[INFO] [stdout]     |
[INFO] [stdout] 272 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_HeadsetStandLedId`
[INFO] [stdout] 273 | #[repr(u32)]
[INFO] [stdout] 274 | pub enum HeadsetStandLedId {
[INFO] [stdout]     |          ----------------- `HeadsetStandLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MemoryModuleLedId`
[INFO] [stdout] 287 | #[repr(u32)]
[INFO] [stdout] 288 | pub enum MemoryModuleLedId {
[INFO] [stdout]     |          ----------------- `MemoryModuleLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MotherboardLedId`
[INFO] [stdout] 304 | #[repr(u32)]
[INFO] [stdout] 305 | pub enum MotherboardLedId {
[INFO] [stdout]     |          ---------------- `MotherboardLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 408 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_GraphicsCardLedId`
[INFO] [stdout] 409 | #[repr(u32)]
[INFO] [stdout] 410 | pub enum GraphicsCardLedId {
[INFO] [stdout]     |          ----------------- `GraphicsCardLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:463:17
[INFO] [stdout]     |
[INFO] [stdout] 463 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CommanderLedId`
[INFO] [stdout] 464 | #[repr(u32)]
[INFO] [stdout] 465 | pub enum CommanderLedId {
[INFO] [stdout]     |          -------------- `CommanderLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:618:17
[INFO] [stdout]     |
[INFO] [stdout] 618 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceLedId`
[INFO] [stdout] 619 | #[repr(u32)]
[INFO] [stdout] 620 | pub enum DeviceLedId {
[INFO] [stdout]     |          ----------- `DeviceLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/led/id.rs:1523:17
[INFO] [stdout]      |
[INFO] [stdout] 1523 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]      |                 ^------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `FromPrimitive` is not local
[INFO] [stdout]      |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_IntegratedLedId`
[INFO] [stdout] 1524 | #[repr(u32)]
[INFO] [stdout] 1525 | pub enum IntegratedLedId {
[INFO] [stdout]      |          --------------- `IntegratedLedId` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/mod.rs:8:35
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]    |                                   ^---
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Fail` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RefreshValueError`
[INFO] [stdout] 9  | #[fail(display = "Failed to refresh value, error: {:?}", _0)]
[INFO] [stdout] 10 | pub struct RefreshValueError(Option<CueSdkError>);
[INFO] [stdout]    |            ----------------- `RefreshValueError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/mod.rs:8:35
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]    |                                   ^---
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Display` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RefreshValueError`
[INFO] [stdout] 9  | #[fail(display = "Failed to refresh value, error: {:?}", _0)]
[INFO] [stdout] 10 | pub struct RefreshValueError(Option<CueSdkError>);
[INFO] [stdout]    |            ----------------- `RefreshValueError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/boolean.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^----------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `ToPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BooleanPropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum BooleanPropertyKey {
[INFO] [stdout]    |          ------------------ `BooleanPropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/boolean.rs:50:43
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `FromPrimitive` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_BooleanPropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum BooleanPropertyKey {
[INFO] [stdout]    |          ------------------ `BooleanPropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/int32.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^----------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `ToPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Int32PropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum Int32PropertyKey {
[INFO] [stdout]    |          ---------------- `Int32PropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/int32.rs:50:43
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `FromPrimitive` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Int32PropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum Int32PropertyKey {
[INFO] [stdout]    |          ---------------- `Int32PropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetAllDevicesError`
[INFO] [stdout] 63 | pub enum GetAllDevicesError {
[INFO] [stdout]    |          ------------------ `GetAllDevicesError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetAllDevicesError`
[INFO] [stdout] 63 | pub enum GetAllDevicesError {
[INFO] [stdout]    |          ------------------ `GetAllDevicesError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetDeviceAtIndexError`
[INFO] [stdout] 72 | pub enum GetDeviceAtIndexError {
[INFO] [stdout]    |          --------------------- `GetDeviceAtIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetDeviceAtIndexError`
[INFO] [stdout] 72 | pub enum GetDeviceAtIndexError {
[INFO] [stdout]    |          --------------------- `GetDeviceAtIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, 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_RequestExclusiveAccessError`
[INFO] [stdout] 81 | pub enum RequestExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `RequestExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, 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_RequestExclusiveAccessError`
[INFO] [stdout] 81 | pub enum RequestExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `RequestExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, 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_ReleaseExclusiveAccessError`
[INFO] [stdout] 90 | pub enum ReleaseExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `ReleaseExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, 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_ReleaseExclusiveAccessError`
[INFO] [stdout] 90 | pub enum ReleaseExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `ReleaseExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 | #[derive(Debug, Clone, 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_SubscribeForEventsError`
[INFO] [stdout] 99 | pub enum SubscribeForEventsError {
[INFO] [stdout]    |          ----------------------- `SubscribeForEventsError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 | #[derive(Debug, Clone, 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_SubscribeForEventsError`
[INFO] [stdout] 99 | pub enum SubscribeForEventsError {
[INFO] [stdout]    |          ----------------------- `SubscribeForEventsError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Debug, Clone, 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_UnsubscribeFromEventsError`
[INFO] [stdout] 110 | pub enum UnsubscribeFromEventsError {
[INFO] [stdout]     |          -------------------------- `UnsubscribeFromEventsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Debug, Clone, 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_UnsubscribeFromEventsError`
[INFO] [stdout] 110 | pub enum UnsubscribeFromEventsError {
[INFO] [stdout]     |          -------------------------- `UnsubscribeFromEventsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:506:24
[INFO] [stdout]     |
[INFO] [stdout] 506 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_UpdateLedsColorBufferError`
[INFO] [stdout] ...
[INFO] [stdout] 511 | pub struct UpdateLedsColorBufferError(Vec<Option<CueSdkError>>);
[INFO] [stdout]     |            -------------------------- `UpdateLedsColorBufferError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:506:24
[INFO] [stdout]     |
[INFO] [stdout] 506 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Display` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_UpdateLedsColorBufferError`
[INFO] [stdout] ...
[INFO] [stdout] 511 | pub struct UpdateLedsColorBufferError(Vec<Option<CueSdkError>>);
[INFO] [stdout]     |            -------------------------- `UpdateLedsColorBufferError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_Utf8Error` should have a snake case name
[INFO] [stdout]   --> src/internal/c_utils.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Err(_Utf8Error)
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `_utf8_error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/mod.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CueDeviceFromDeviceInfoAndIndexError`
[INFO] [stdout] ...
[INFO] [stdout] 52 | pub struct CueDeviceFromDeviceInfoAndIndexError(GetLedPositionsError);
[INFO] [stdout]    |            ------------------------------------ `CueDeviceFromDeviceInfoAndIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/mod.rs:47:24
[INFO] [stdout]    |
[INFO] [stdout] 47 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CueDeviceFromDeviceInfoAndIndexError`
[INFO] [stdout] ...
[INFO] [stdout] 52 | pub struct CueDeviceFromDeviceInfoAndIndexError(GetLedPositionsError);
[INFO] [stdout]    |            ------------------------------------ `CueDeviceFromDeviceInfoAndIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:129:35
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetPropertyError`
[INFO] [stdout] 130 | pub enum GetPropertyError {
[INFO] [stdout]     |          ---------------- `GetPropertyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:129:35
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetPropertyError`
[INFO] [stdout] 130 | pub enum GetPropertyError {
[INFO] [stdout]     |          ---------------- `GetPropertyError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:145:35
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetLedPositionsError`
[INFO] [stdout] ...
[INFO] [stdout] 150 | pub struct GetLedPositionsError(Option<CueSdkError>);
[INFO] [stdout]     |            -------------------- `GetLedPositionsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:145:35
[INFO] [stdout]     |
[INFO] [stdout] 145 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetLedPositionsError`
[INFO] [stdout] ...
[INFO] [stdout] 150 | pub struct GetLedPositionsError(Option<CueSdkError>);
[INFO] [stdout]     |            -------------------- `GetLedPositionsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetLedsError`
[INFO] [stdout] 154 | pub enum GetLedsError {
[INFO] [stdout]     |          ------------ `GetLedsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetLedsError`
[INFO] [stdout] 154 | pub enum GetLedsError {
[INFO] [stdout]     |          ------------ `GetLedsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetLedColorsError`
[INFO] [stdout] 163 | pub enum GetLedColorsError {
[INFO] [stdout]     |          ----------------- `GetLedColorsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/device/mod.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetLedColorsError`
[INFO] [stdout] 163 | pub enum GetLedColorsError {
[INFO] [stdout]     |          ----------------- `GetLedColorsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ChannelFromFfiError`
[INFO] [stdout] 27 | pub enum ChannelFromFfiError {
[INFO] [stdout]    |          ------------------- `ChannelFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/mod.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ChannelFromFfiError`
[INFO] [stdout] 27 | pub enum ChannelFromFfiError {
[INFO] [stdout]    |          ------------------- `ChannelFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/channels.rs:9:24
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ChannelsFromFfiError`
[INFO] [stdout] 10 | pub enum ChannelsFromFfiError {
[INFO] [stdout]    |          -------------------- `ChannelsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/channels.rs:9:24
[INFO] [stdout]    |
[INFO] [stdout] 9  | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ChannelsFromFfiError`
[INFO] [stdout] 10 | pub enum ChannelsFromFfiError {
[INFO] [stdout]    |          -------------------- `ChannelsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/channel/device.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
[INFO] [stdout]   |                                         ^------------
[INFO] [stdout]   |                                         |
[INFO] [stdout]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ChannelDeviceType`
[INFO] [stdout] 6 | #[repr(u32)]
[INFO] [stdout] 7 | pub enum ChannelDeviceType {
[INFO] [stdout]   |          ----------------- `ChannelDeviceType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/device.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ChannelDeviceFromFfiError`
[INFO] [stdout] 30 | #[fail(display = "Invalid device_led_count: {}", device_led_count)]
[INFO] [stdout] 31 | pub struct ChannelDeviceFromFfiError {
[INFO] [stdout]    |            ------------------------- `ChannelDeviceFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/channel/device.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ChannelDeviceFromFfiError`
[INFO] [stdout] 30 | #[fail(display = "Invalid device_led_count: {}", device_led_count)]
[INFO] [stdout] 31 | pub struct ChannelDeviceFromFfiError {
[INFO] [stdout]    |            ------------------------- `ChannelDeviceFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/device_type.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
[INFO] [stdout]   |                                         ^------------
[INFO] [stdout]   |                                         |
[INFO] [stdout]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceType`
[INFO] [stdout] 6 | #[repr(u32)]
[INFO] [stdout] 7 | pub enum DeviceType {
[INFO] [stdout]   |          ---------- `DeviceType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/id.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]   |                        ^---
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Fail` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_DeviceIdFromFfiError`
[INFO] [stdout] 8 | #[fail(display = "Invalid utf8 for the device id from ffi: {:?}", _0)]
[INFO] [stdout] 9 | pub struct DeviceIdFromFfiError(pub Utf8Error);
[INFO] [stdout]   |            -------------------- `DeviceIdFromFfiError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/device/id.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]   |                        ^---
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `Display` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_DeviceIdFromFfiError`
[INFO] [stdout] 8 | #[fail(display = "Invalid utf8 for the device id from ffi: {:?}", _0)]
[INFO] [stdout] 9 | pub struct DeviceIdFromFfiError(pub Utf8Error);
[INFO] [stdout]   |            -------------------- `DeviceIdFromFfiError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/info.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CueDeviceInfoFromFfiError`
[INFO] [stdout] 12 | pub enum CueDeviceInfoFromFfiError {
[INFO] [stdout]    |          ------------------------- `CueDeviceInfoFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/info.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CueDeviceInfoFromFfiError`
[INFO] [stdout] 12 | pub enum CueDeviceInfoFromFfiError {
[INFO] [stdout]    |          ------------------------- `CueDeviceInfoFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/layout.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[derive(Debug, Copy, Clone, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PhysicalLayout`
[INFO] [stdout] 42 | #[repr(u32)]
[INFO] [stdout] 43 | pub enum PhysicalLayout {
[INFO] [stdout]    |          -------------- `PhysicalLayout` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/device/layout.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Debug, Copy, Clone, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^------------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `FromPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_LogicalLayout`
[INFO] [stdout] 57 | #[repr(u32)]
[INFO] [stdout] 58 | pub enum LogicalLayout {
[INFO] [stdout]    |          ------------- `LogicalLayout` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[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:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
[INFO] [stdout]   |                                         ^------------
[INFO] [stdout]   |                                         |
[INFO] [stdout]   |                                         `FromPrimitive` is not local
[INFO] [stdout]   |                                         move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CueSdkError`
[INFO] [stdout] 7 | #[repr(u32)]
[INFO] [stdout] 8 | pub enum CueSdkError {
[INFO] [stdout]   |          ----------- `CueSdkError` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/event/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CueEventFromFfiError`
[INFO] [stdout] 30 | pub enum CueEventFromFfiError {
[INFO] [stdout]    |          -------------------- `CueEventFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/event/mod.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CueEventFromFfiError`
[INFO] [stdout] 30 | pub enum CueEventFromFfiError {
[INFO] [stdout]    |          -------------------- `CueEventFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/mod.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_HandshakeError`
[INFO] [stdout] 12 | pub enum HandshakeError {
[INFO] [stdout]    |          -------------- `HandshakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/mod.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_HandshakeError`
[INFO] [stdout] 12 | pub enum HandshakeError {
[INFO] [stdout]    |          -------------- `HandshakeError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/protocol_details.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ProtocolDetailsFromFfiError`
[INFO] [stdout] 18 | pub enum ProtocolDetailsFromFfiError {
[INFO] [stdout]    |          --------------------------- `ProtocolDetailsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/initialization/protocol_details.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ProtocolDetailsFromFfiError`
[INFO] [stdout] 18 | pub enum ProtocolDetailsFromFfiError {
[INFO] [stdout]    |          --------------------------- `ProtocolDetailsFromFfiError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/key.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Copy, Clone, FromPrimitive, PartialEq)]
[INFO] [stdout]   |                              ^------------
[INFO] [stdout]   |                              |
[INFO] [stdout]   |                              `FromPrimitive` is not local
[INFO] [stdout]   |                              move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KeyId`
[INFO] [stdout] 8 | #[repr(u32)]
[INFO] [stdout] 9 | pub enum KeyId {
[INFO] [stdout]   |          ----- `KeyId` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/led/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_CheckColorError`
[INFO] [stdout] 31 | pub enum CheckColorError {
[INFO] [stdout]    |          --------------- `CheckColorError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/led/mod.rs:30:24
[INFO] [stdout]    |
[INFO] [stdout] 30 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_CheckColorError`
[INFO] [stdout] 31 | pub enum CheckColorError {
[INFO] [stdout]    |          --------------- `CheckColorError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/mod.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Fail` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_LedColorFromFfiError`
[INFO] [stdout] ...
[INFO] [stdout] 126 | pub struct LedColorFromFfiError(i32, i32, i32);
[INFO] [stdout]     |            -------------------- `LedColorFromFfiError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/mod.rs:121:35
[INFO] [stdout]     |
[INFO] [stdout] 121 | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]     |                                   ^---
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `Display` is not local
[INFO] [stdout]     |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_LedColorFromFfiError`
[INFO] [stdout] ...
[INFO] [stdout] 126 | pub struct LedColorFromFfiError(i32, i32, i32);
[INFO] [stdout]     |            -------------------- `LedColorFromFfiError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/led/id.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]    |                 ^------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `FromPrimitive` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_KeyboardLedId`
[INFO] [stdout] 62 | #[repr(u32)]
[INFO] [stdout] 63 | pub enum KeyboardLedId {
[INFO] [stdout]    |          ------------- `KeyboardLedId` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MouseLedId`
[INFO] [stdout] 235 | #[repr(u32)]
[INFO] [stdout] 236 | pub enum MouseLedId {
[INFO] [stdout]     |          ---------- `MouseLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_HeadsetLedId`
[INFO] [stdout] 246 | #[repr(u32)]
[INFO] [stdout] 247 | pub enum HeadsetLedId {
[INFO] [stdout]     |          ------------ `HeadsetLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MouseMatLedId`
[INFO] [stdout] 253 | #[repr(u32)]
[INFO] [stdout] 254 | pub enum MouseMatLedId {
[INFO] [stdout]     |          ------------- `MouseMatLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:272:17
[INFO] [stdout]     |
[INFO] [stdout] 272 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_HeadsetStandLedId`
[INFO] [stdout] 273 | #[repr(u32)]
[INFO] [stdout] 274 | pub enum HeadsetStandLedId {
[INFO] [stdout]     |          ----------------- `HeadsetStandLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:286:17
[INFO] [stdout]     |
[INFO] [stdout] 286 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MemoryModuleLedId`
[INFO] [stdout] 287 | #[repr(u32)]
[INFO] [stdout] 288 | pub enum MemoryModuleLedId {
[INFO] [stdout]     |          ----------------- `MemoryModuleLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:303:17
[INFO] [stdout]     |
[INFO] [stdout] 303 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MotherboardLedId`
[INFO] [stdout] 304 | #[repr(u32)]
[INFO] [stdout] 305 | pub enum MotherboardLedId {
[INFO] [stdout]     |          ---------------- `MotherboardLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:408:17
[INFO] [stdout]     |
[INFO] [stdout] 408 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_GraphicsCardLedId`
[INFO] [stdout] 409 | #[repr(u32)]
[INFO] [stdout] 410 | pub enum GraphicsCardLedId {
[INFO] [stdout]     |          ----------------- `GraphicsCardLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:463:17
[INFO] [stdout]     |
[INFO] [stdout] 463 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CommanderLedId`
[INFO] [stdout] 464 | #[repr(u32)]
[INFO] [stdout] 465 | pub enum CommanderLedId {
[INFO] [stdout]     |          -------------- `CommanderLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/led/id.rs:618:17
[INFO] [stdout]     |
[INFO] [stdout] 618 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]     |                 ^------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `FromPrimitive` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DeviceLedId`
[INFO] [stdout] 619 | #[repr(u32)]
[INFO] [stdout] 620 | pub enum DeviceLedId {
[INFO] [stdout]     |          ----------- `DeviceLedId` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/led/id.rs:1523:17
[INFO] [stdout]      |
[INFO] [stdout] 1523 | #[derive(Debug, FromPrimitive, Copy, Clone, PartialEq)]
[INFO] [stdout]      |                 ^------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `FromPrimitive` is not local
[INFO] [stdout]      |                 move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_IntegratedLedId`
[INFO] [stdout] 1524 | #[repr(u32)]
[INFO] [stdout] 1525 | pub enum IntegratedLedId {
[INFO] [stdout]      |          --------------- `IntegratedLedId` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/mod.rs:8:35
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]    |                                   ^---
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Fail` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_RefreshValueError`
[INFO] [stdout] 9  | #[fail(display = "Failed to refresh value, error: {:?}", _0)]
[INFO] [stdout] 10 | pub struct RefreshValueError(Option<CueSdkError>);
[INFO] [stdout]    |            ----------------- `RefreshValueError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/mod.rs:8:35
[INFO] [stdout]    |
[INFO] [stdout] 8  | #[derive(Debug, Clone, PartialEq, Fail)]
[INFO] [stdout]    |                                   ^---
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Display` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_RefreshValueError`
[INFO] [stdout] 9  | #[fail(display = "Failed to refresh value, error: {:?}", _0)]
[INFO] [stdout] 10 | pub struct RefreshValueError(Option<CueSdkError>);
[INFO] [stdout]    |            ----------------- `RefreshValueError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/boolean.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^----------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `ToPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_BooleanPropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum BooleanPropertyKey {
[INFO] [stdout]    |          ------------------ `BooleanPropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/boolean.rs:50:43
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `FromPrimitive` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_BooleanPropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum BooleanPropertyKey {
[INFO] [stdout]    |          ------------------ `BooleanPropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::convert::From::from` that must be used
[INFO] [stdout]   --> src/property/boolean.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |             u32::from(key); //ensure this never panics
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let _ = u32::from(key); //ensure this never panics
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/int32.rs:50:30
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                              ^----------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `ToPrimitive` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Int32PropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum Int32PropertyKey {
[INFO] [stdout]    |          ---------------- `Int32PropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/property/int32.rs:50:43
[INFO] [stdout]    |
[INFO] [stdout] 50 | #[derive(Debug, Clone, Copy, ToPrimitive, FromPrimitive, PartialEq)]
[INFO] [stdout]    |                                           ^------------
[INFO] [stdout]    |                                           |
[INFO] [stdout]    |                                           `FromPrimitive` is not local
[INFO] [stdout]    |                                           move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Int32PropertyKey`
[INFO] [stdout] 51 | #[cfg_attr(test, derive(EnumIter))]
[INFO] [stdout] 52 | pub enum Int32PropertyKey {
[INFO] [stdout]    |          ---------------- `Int32PropertyKey` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::convert::From::from` that must be used
[INFO] [stdout]   --> src/property/int32.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |             u32::from(key); //ensure this never panics
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let _ = u32::from(key); //ensure this never panics
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetAllDevicesError`
[INFO] [stdout] 63 | pub enum GetAllDevicesError {
[INFO] [stdout]    |          ------------------ `GetAllDevicesError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:62:24
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetAllDevicesError`
[INFO] [stdout] 63 | pub enum GetAllDevicesError {
[INFO] [stdout]    |          ------------------ `GetAllDevicesError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Fail` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_GetDeviceAtIndexError`
[INFO] [stdout] 72 | pub enum GetDeviceAtIndexError {
[INFO] [stdout]    |          --------------------- `GetDeviceAtIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]    |                        ^---
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Display` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_GetDeviceAtIndexError`
[INFO] [stdout] 72 | pub enum GetDeviceAtIndexError {
[INFO] [stdout]    |          --------------------- `GetDeviceAtIndexError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, 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_RequestExclusiveAccessError`
[INFO] [stdout] 81 | pub enum RequestExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `RequestExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Debug, Clone, 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_RequestExclusiveAccessError`
[INFO] [stdout] 81 | pub enum RequestExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `RequestExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, 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_ReleaseExclusiveAccessError`
[INFO] [stdout] 90 | pub enum ReleaseExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `ReleaseExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:89:24
[INFO] [stdout]    |
[INFO] [stdout] 89 | #[derive(Debug, Clone, 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_ReleaseExclusiveAccessError`
[INFO] [stdout] 90 | pub enum ReleaseExclusiveAccessError {
[INFO] [stdout]    |          --------------------------- `ReleaseExclusiveAccessError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 | #[derive(Debug, Clone, 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_SubscribeForEventsError`
[INFO] [stdout] 99 | pub enum SubscribeForEventsError {
[INFO] [stdout]    |          ----------------------- `SubscribeForEventsError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sdk.rs:98:24
[INFO] [stdout]    |
[INFO] [stdout] 98 | #[derive(Debug, Clone, 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_SubscribeForEventsError`
[INFO] [stdout] 99 | pub enum SubscribeForEventsError {
[INFO] [stdout]    |          ----------------------- `SubscribeForEventsError` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Debug, Clone, 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_UnsubscribeFromEventsError`
[INFO] [stdout] 110 | pub enum UnsubscribeFromEventsError {
[INFO] [stdout]     |          -------------------------- `UnsubscribeFromEventsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:109:24
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[derive(Debug, Clone, 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_UnsubscribeFromEventsError`
[INFO] [stdout] 110 | pub enum UnsubscribeFromEventsError {
[INFO] [stdout]     |          -------------------------- `UnsubscribeFromEventsError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:506:24
[INFO] [stdout]     |
[INFO] [stdout] 506 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Fail` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_UpdateLedsColorBufferError`
[INFO] [stdout] ...
[INFO] [stdout] 511 | pub struct UpdateLedsColorBufferError(Vec<Option<CueSdkError>>);
[INFO] [stdout]     |            -------------------------- `UpdateLedsColorBufferError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/sdk.rs:506:24
[INFO] [stdout]     |
[INFO] [stdout] 506 | #[derive(Debug, Clone, Fail, PartialEq)]
[INFO] [stdout]     |                        ^---
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Display` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_UpdateLedsColorBufferError`
[INFO] [stdout] ...
[INFO] [stdout] 511 | pub struct UpdateLedsColorBufferError(Vec<Option<CueSdkError>>);
[INFO] [stdout]     |            -------------------------- `UpdateLedsColorBufferError` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `protocol_details` of struct `CueSdkClient` is private
[INFO] [stdout]   --> examples/initialization.rs:28:52
[INFO] [stdout]    |
[INFO] [stdout] 28 |     info!("SDK protocol details: {:?}", sdk_client.protocol_details);
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `priority` of struct `CueSdkClient` is private
[INFO] [stdout]   --> examples/initialization.rs:29:54
[INFO] [stdout]    |
[INFO] [stdout] 29 |     info!("Initial layer priority: {:?}", sdk_client.priority);
[INFO] [stdout]    |                                                      ^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0616`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cue-sdk` (example "initialization") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `task`
[INFO] [stdout]   --> examples/events.rs:46:22
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let handle = task::sleep(Duration::from_secs(5));
[INFO] [stdout]    |                      ^^^^ use of undeclared crate or module `task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cue-sdk` (example "events") due to 1 previous error
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> examples/access_control.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut sdk = cue_sdk::initialize().expect("failed to initialize sdk");
[INFO] [stdout]   |         ----^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `warn` in this scope
[INFO] [stdout]   --> examples/async.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             warn!("No devices found.")
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `warn` is in scope, but it is an attribute: `#[warn]`
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 4  + use log::warn;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cue_sdk::sdk::GetAllDevicesError`
[INFO] [stdout]  --> examples/async.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cue_sdk::sdk::GetAllDevicesError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CueDevice` and `DeviceType`
[INFO] [stdout]  --> examples/async.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cue_sdk::device::{CueDevice, DeviceType};
[INFO] [stdout]   |                       ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CueEventFromFfiError` and `CueEvent`
[INFO] [stdout]  --> examples/async.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use cue_sdk::event::{CueEvent, CueEventFromFfiError};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BooleanPropertyKey` and `Int32PropertyKey`
[INFO] [stdout]   --> examples/async.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use cue_sdk::property::{BooleanPropertyKey, Int32PropertyKey};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `flush_led_colors_update_buffer_async` found for struct `CueSdkClient` in the current scope
[INFO] [stdout]   --> examples/async.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         sdk.flush_led_colors_update_buffer_async()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `flush_led_colors_update_buffer_sync` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 47 |         sdk.flush_led_colors_update_buffer_sync()
[INFO] [stdout]    |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `subscribe_for_events_async` found for struct `CueSdkClient` in the current scope
[INFO] [stdout]    --> examples/async.rs:54:14
[INFO] [stdout]     |
[INFO] [stdout] 53  |           let mut subscription = sdk
[INFO] [stdout]     |  ________________________________-
[INFO] [stdout] 54  | |             .subscribe_for_events_async()
[INFO] [stdout]     | |_____________-^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `subscribe_for_events` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/sdk.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 | /     pub fn subscribe_for_events<F>(&self, mut closure: F) -> Result<(), SubscribeForEventsError>
[INFO] [stdout] 422 | |     where
[INFO] [stdout] 423 | |         F: FnMut(Result<CueEvent, CueEventFromFfiError>),
[INFO] [stdout]     | |_________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `{closure@examples/async.rs:19:17: 19:19}` is not a future
[INFO] [stdout]    --> examples/async.rs:19:17
[INFO] [stdout]     |
[INFO] [stdout] 19  |       rt.block_on(|| async {
[INFO] [stdout]     |  ________--------_^
[INFO] [stdout]     | |        |
[INFO] [stdout]     | |        required by a bound introduced by this call
[INFO] [stdout] 20  | |         env_logger::init_from_env(Env::new().filter("CUE_SDK_EXAMPLES_LOG_LEVEL"));
[INFO] [stdout] 21  | |         let sdk = cue_sdk::initialize().expect("failed to initialize sdk");
[INFO] [stdout] ...   |
[INFO] [stdout] 86  | |         drop(subscription)
[INFO] [stdout] 87  | |     });
[INFO] [stdout]     | |_____^ `{closure@examples/async.rs:19:17: 19:19}` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Future` is not implemented for closure `{closure@examples/async.rs:19:17: 19:19}`
[INFO] [stdout] note: required by a bound in `Runtime::block_on`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-0.3.3/src/runtime/mod.rs:441:28
[INFO] [stdout]     |
[INFO] [stdout] 441 |         pub fn block_on<F: Future>(&self, future: F) -> F::Output {
[INFO] [stdout]     |                            ^^^^^^ required by this bound in `Runtime::block_on`
[INFO] [stdout] help: use parentheses to call this closure
[INFO] [stdout]     |
[INFO] [stdout] 87  |     }());
[INFO] [stdout]     |      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cue-sdk` (example "async") due to 4 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d90e0e70739ab6827dbbb596fd81d9264ffe17b605f06fac9a119ee23ea96ffa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d90e0e70739ab6827dbbb596fd81d9264ffe17b605f06fac9a119ee23ea96ffa", kill_on_drop: false }`
[INFO] [stdout] d90e0e70739ab6827dbbb596fd81d9264ffe17b605f06fac9a119ee23ea96ffa
