[INFO] fetching crate ktrl 0.1.8...
[INFO] checking ktrl-0.1.8 against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] extracting crate ktrl 0.1.8 into /workspace/builds/worker-2-tc2/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-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ktrl 0.1.8 on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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] a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c
[INFO] running `Command { std: "docker" "start" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c", 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" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c", 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" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "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 autocfg v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling cc v1.0.54
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]     Checking ioctl-sys v0.5.2
[INFO] [stderr]     Checking base64 v0.12.1
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking inner v0.1.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling evdev-sys v0.2.1
[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 evdev-rs v0.4.0
[INFO] [stderr]     Checking clap v2.33.1
[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 16.89s
[INFO] running `Command { std: "docker" "inspect" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c", kill_on_drop: false }`
[INFO] [stdout] a94adb6772b1e345767e055d62a16990a1b4dd9c0f22aa0ecb2d473aa09e340c
