[INFO] fetching crate cue-sdk 0.0.3...
[INFO] checking cue-sdk-0.0.3 against try#264a7c4a1c917c83d13895a31231f9d93c7b67e1 for pr-132289
[INFO] extracting crate cue-sdk 0.0.3 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate cue-sdk 0.0.3 on toolchain 264a7c4a1c917c83d13895a31231f9d93c7b67e1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "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-tc2/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" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b3a454a337fac9b8012c171d73cdb10b3b285c348cf391ff9ef564159d668f75
[INFO] running `Command { std: "docker" "start" "-a" "b3a454a337fac9b8012c171d73cdb10b3b285c348cf391ff9ef564159d668f75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3a454a337fac9b8012c171d73cdb10b3b285c348cf391ff9ef564159d668f75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3a454a337fac9b8012c171d73cdb10b3b285c348cf391ff9ef564159d668f75", kill_on_drop: false }`
[INFO] [stdout] b3a454a337fac9b8012c171d73cdb10b3b285c348cf391ff9ef564159d668f75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+264a7c4a1c917c83d13895a31231f9d93c7b67e1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a251ad30ddf220c6227c70b46ae1b6ae9ea9e6df825c4752836accfe0679fa61
[INFO] running `Command { std: "docker" "start" "-a" "a251ad30ddf220c6227c70b46ae1b6ae9ea9e6df825c4752836accfe0679fa61", 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]     Checking gimli v0.22.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking miniz_oxide v0.4.1
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling cue-sdk-sys v0.0.5
[INFO] [stderr]     Checking object v0.20.0
[INFO] [stderr]     Checking aho-corasick v0.7.13
[INFO] [stderr]     Checking semver-parser v0.10.1
[INFO] [stderr]    Compiling tokio v0.3.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking getrandom v0.1.15
[INFO] [stderr]     Checking regex-syntax v0.6.18
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking semver v0.11.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking pin-project-lite v0.1.7
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking humantime v2.0.1
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking strum v0.19.5
[INFO] [stderr]     Checking addr2line v0.13.0
[INFO] [stderr]     Checking regex v1.3.9
[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 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[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] 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] [stdout] For more information about this error, try `rustc --explain E0433`.
[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] [stderr] error: could not compile `cue-sdk` (example "events") due to 1 previous error
[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] 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] 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] 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] 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] 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] 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] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[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] [stderr] error: could not compile `cue-sdk` (example "async") due to 4 previous errors; 4 warnings emitted
[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] running `Command { std: "docker" "inspect" "a251ad30ddf220c6227c70b46ae1b6ae9ea9e6df825c4752836accfe0679fa61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a251ad30ddf220c6227c70b46ae1b6ae9ea9e6df825c4752836accfe0679fa61", kill_on_drop: false }`
[INFO] [stdout] a251ad30ddf220c6227c70b46ae1b6ae9ea9e6df825c4752836accfe0679fa61
