[INFO] fetching crate ktrl 0.1.8...
[INFO] checking ktrl-0.1.8 against 28b6e691688c15cef4c60d9044274e7b84397870 for pr-162986
[INFO] extracting crate ktrl 0.1.8 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate ktrl 0.1.8
[INFO] finished tweaking crates.io crate ktrl 0.1.8
[INFO] tweaked toml for crates.io crate ktrl 0.1.8 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ktrl 0.1.8 on toolchain 28b6e691688c15cef4c60d9044274e7b84397870
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ktrl 0.1.8 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" "+28b6e691688c15cef4c60d9044274e7b84397870" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | homepage = "https://github.com/ItayGarin/ktrl"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | repository = "https://github.com/ItayGarin/ktrl"
[INFO] [stderr]    |              -----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `ktrl` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uinput-sys v0.1.7
[INFO] [stderr]   Downloaded zmq v0.9.2
[INFO] [stderr]   Downloaded zmq-sys v0.11.0
[INFO] [stderr]   Downloaded enum-iterator v0.6.0
[INFO] [stderr]   Downloaded metadeps v1.1.2
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.4
[INFO] [stderr]   Downloaded inner v0.1.1
[INFO] [stderr]   Downloaded enum-iterator-derive v0.6.0
[INFO] [stderr]   Downloaded toml v0.2.1
[INFO] [stderr]   Downloaded ron v0.6.0
[INFO] [stderr]   Downloaded ioctl-sys v0.5.2
[INFO] [stderr]   Downloaded simplelog v0.8.0
[INFO] [stderr]   Downloaded evdev-rs v0.4.0
[INFO] [stderr]   Downloaded lewton v0.10.1
[INFO] [stderr]   Downloaded nom v5.1.1
[INFO] [stderr]   Downloaded chrono v0.4.11
[INFO] [stderr]   Downloaded syn v1.0.30
[INFO] [stderr]   Downloaded evdev-sys v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0
[INFO] running `Command { std: "docker" "start" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0" "/opt/rustwide/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0" "/opt/rustwide/cargo-home/bin/cargo" "+28b6e691688c15cef4c60d9044274e7b84397870" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | homepage = "https://github.com/ItayGarin/ktrl"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | repository = "https://github.com/ItayGarin/ktrl"
[INFO] [stderr]    |              -----------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `ktrl` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling cc v1.0.54
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking base64 v0.12.1
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking ioctl-sys v0.5.2
[INFO] [stderr]     Checking inner v0.1.1
[INFO] [stderr]    Compiling evdev-sys v0.2.1
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking uinput-sys v0.1.7
[INFO] [stderr]     Checking clap v2.33.1
[INFO] [stderr]     Checking evdev-rs v0.4.0
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]     Checking simplelog v0.8.0
[INFO] [stderr]    Compiling serde_derive v1.0.111
[INFO] [stderr]     Checking ron v0.6.0
[INFO] [stderr]     Checking ktrl v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::actions::tap_hold::TapHoldState`
[INFO] [stdout]   --> src/layers.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use crate::actions::tap_hold::TapHoldState;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::actions::tap_hold::TapHoldState`
[INFO] [stdout]   --> src/layers.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use crate::actions::tap_hold::TapHoldState;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `assets_path`, `ipc_port`, `ipc_msg`, and `notify_port` are never read
[INFO] [stdout]   --> src/ktrl.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct KtrlArgs {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub assets_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 30 |     pub ipc_port: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 31 |     pub ipc_msg: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 32 |     pub notify_port: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]   --> src/layers.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct MergedKey {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     pub code: KeyCode,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MergedKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/actions/mod.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
[INFO] [stdout]    |                                       ^----------
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Action`
[INFO] [stdout] 21 | pub enum Action {
[INFO] [stdout]    |          ------ `Action` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/cfg.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Cfg`
[INFO] [stdout] 22 | pub struct Cfg {
[INFO] [stdout]    |            --- `Cfg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/effects/mod.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
[INFO] [stdout]    |                                       ^----------
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Effect`
[INFO] [stdout] 24 | pub enum Effect {
[INFO] [stdout]    |          ------ `Effect` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/effects/mod.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Clone, Debug, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^----------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_EffectValue`
[INFO] [stdout] 77 | pub struct EffectValue {
[INFO] [stdout]    |            ----------- `EffectValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/keys.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Deserialize)]
[INFO] [stdout]    |                                                   ^----------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `Deserialize` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KeyCode`
[INFO] [stdout] 14 | pub enum KeyCode {
[INFO] [stdout]    |          ------- `KeyCode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/keys.rs:1172:30
[INFO] [stdout]      |
[INFO] [stdout] 1172 | #[derive(Copy, Clone, Debug, Deserialize, PartialEq, Eq)]
[INFO] [stdout]      |                              ^----------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `Deserialize` is not local
[INFO] [stdout]      |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KeyValue`
[INFO] [stdout] 1173 | pub enum KeyValue {
[INFO] [stdout]      |          -------- `KeyValue` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/layers.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Profile`
[INFO] [stdout] 28 | pub struct Profile {
[INFO] [stdout]    |            ------- `Profile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `assets_path`, `ipc_port`, `ipc_msg`, and `notify_port` are never read
[INFO] [stdout]   --> src/ktrl.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct KtrlArgs {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub assets_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 30 |     pub ipc_port: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 31 |     pub ipc_msg: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 32 |     pub notify_port: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]   --> src/layers.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct MergedKey {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 35 |     pub code: KeyCode,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MergedKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/actions/mod.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
[INFO] [stdout]    |                                       ^----------
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Action`
[INFO] [stdout] 21 | pub enum Action {
[INFO] [stdout]    |          ------ `Action` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/cfg.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Cfg`
[INFO] [stdout] 22 | pub struct Cfg {
[INFO] [stdout]    |            --- `Cfg` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/effects/mod.rs:23:39
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
[INFO] [stdout]    |                                       ^----------
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Deserialize` is not local
[INFO] [stdout]    |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Effect`
[INFO] [stdout] 24 | pub enum Effect {
[INFO] [stdout]    |          ------ `Effect` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/effects/mod.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[derive(Clone, Debug, Deserialize, PartialEq, Eq)]
[INFO] [stdout]    |                        ^----------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_EffectValue`
[INFO] [stdout] 77 | pub struct EffectValue {
[INFO] [stdout]    |            ----------- `EffectValue` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/keys.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Deserialize)]
[INFO] [stdout]    |                                                   ^----------
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   `Deserialize` is not local
[INFO] [stdout]    |                                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KeyCode`
[INFO] [stdout] 14 | pub enum KeyCode {
[INFO] [stdout]    |          ------- `KeyCode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]     --> src/keys.rs:1172:30
[INFO] [stdout]      |
[INFO] [stdout] 1172 | #[derive(Copy, Clone, Debug, Deserialize, PartialEq, Eq)]
[INFO] [stdout]      |                              ^----------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `Deserialize` is not local
[INFO] [stdout]      |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_KeyValue`
[INFO] [stdout] 1173 | pub enum KeyValue {
[INFO] [stdout]      |          -------- `KeyValue` is not local
[INFO] [stdout]      |
[INFO] [stdout]      = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]      = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]      = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]      = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]      = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/layers.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Deserialize, Clone, Debug)]
[INFO] [stdout]    |          ^----------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Deserialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Profile`
[INFO] [stdout] 28 | pub struct Profile {
[INFO] [stdout]    |            ------- `Profile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `nix`
[INFO] [stderr]   --> Cargo.toml:23:15
[INFO] [stderr]    |
[INFO] [stderr] 23 | [dependencies.nix]
[INFO] [stderr]    |               ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `nix`
[INFO] [stderr] warning: `ktrl` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.10s
[INFO] running `Command { std: "docker" "inspect" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0", kill_on_drop: false }`
[INFO] [stdout] 9306571b89de3a6f9d5e3f5400f67e0a2ebea6dd5e2136448a1ca4c991d034e0
