[INFO] fetching crate ktrl 0.1.8...
[INFO] checking ktrl-0.1.8 against 69bccf03c4733f57482f9691456efcd80f86a5f6 for pr-164053
[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 69bccf03c4733f57482f9691456efcd80f86a5f6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "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" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "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 toml v0.2.1
[INFO] [stderr]   Downloaded pkg-config v0.3.17
[INFO] [stderr]   Downloaded zmq-sys v0.11.0
[INFO] [stderr]   Downloaded zmq v0.9.2
[INFO] [stderr]   Downloaded uinput-sys v0.1.7
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded peeking_take_while v0.1.2
[INFO] [stderr]   Downloaded metadeps v1.1.2
[INFO] [stderr]   Downloaded simplelog v0.8.0
[INFO] [stderr]   Downloaded enum-iterator-derive v0.6.0
[INFO] [stderr]   Downloaded core-foundation-sys v0.6.2
[INFO] [stderr]   Downloaded error-chain v0.10.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.18
[INFO] [stderr]   Downloaded clang-sys v0.29.3
[INFO] [stderr]   Downloaded cexpr v0.4.0
[INFO] [stderr]   Downloaded thiserror v1.0.19
[INFO] [stderr]   Downloaded thiserror-impl v1.0.19
[INFO] [stderr]   Downloaded termcolor v1.1.0
[INFO] [stderr]   Downloaded minimp3 v0.3.5
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.4
[INFO] [stderr]   Downloaded ioctl-sys v0.5.2
[INFO] [stderr]   Downloaded shlex v0.1.1
[INFO] [stderr]   Downloaded enum-iterator v0.6.0
[INFO] [stderr]   Downloaded autocfg v1.0.0
[INFO] [stderr]   Downloaded num-integer v0.1.42
[INFO] [stderr]   Downloaded inner v0.1.1
[INFO] [stderr]   Downloaded lazycell v1.2.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.13
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded ogg v0.7.0
[INFO] [stderr]   Downloaded alsa-sys v0.1.2
[INFO] [stderr]   Downloaded time v0.1.43
[INFO] [stderr]   Downloaded libloading v0.5.2
[INFO] [stderr]   Downloaded glob v0.3.0
[INFO] [stderr]   Downloaded num-traits v0.2.11
[INFO] [stderr]   Downloaded cc v1.0.54
[INFO] [stderr]   Downloaded tinyvec v0.3.3
[INFO] [stderr]   Downloaded unicode-width v0.1.7
[INFO] [stderr]   Downloaded hound v3.4.0
[INFO] [stderr]   Downloaded evdev-rs v0.4.0
[INFO] [stderr]   Downloaded serde_derive v1.0.111
[INFO] [stderr]   Downloaded base64 v0.12.1
[INFO] [stderr]   Downloaded ron v0.6.0
[INFO] [stderr]   Downloaded coreaudio-rs v0.9.1
[INFO] [stderr]   Downloaded slice-deque v0.3.0
[INFO] [stderr]   Downloaded minimp3-sys v0.3.2
[INFO] [stderr]   Downloaded lewton v0.10.1
[INFO] [stderr]   Downloaded serde v1.0.111
[INFO] [stderr]   Downloaded cpal v0.11.0
[INFO] [stderr]   Downloaded claxon v0.4.2
[INFO] [stderr]   Downloaded nom v5.1.1
[INFO] [stderr]   Downloaded chrono v0.4.11
[INFO] [stderr]   Downloaded nix v0.17.0
[INFO] [stderr]   Downloaded syn v1.0.30
[INFO] [stderr]   Downloaded bindgen v0.53.3
[INFO] [stderr]   Downloaded clap v2.33.1
[INFO] [stderr]   Downloaded regex v1.3.9
[INFO] [stderr]   Downloaded regex-syntax v0.6.18
[INFO] [stderr]   Downloaded libc v0.2.71
[INFO] [stderr]   Downloaded evdev-sys v0.2.1
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] [stderr]   Downloaded rodio v0.11.0
[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] 3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973
[INFO] running `Command { std: "docker" "start" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973", 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" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973" "/opt/rustwide/cargo-home/bin/cargo" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973", 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" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973" "/opt/rustwide/cargo-home/bin/cargo" "+69bccf03c4733f57482f9691456efcd80f86a5f6" "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]     Checking unicode-width v0.1.7
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking base64 v0.12.1
[INFO] [stderr]     Checking ioctl-sys v0.5.2
[INFO] [stderr]     Checking lazy_static v1.4.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 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 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 15.52s
[INFO] running `Command { std: "docker" "inspect" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973", kill_on_drop: false }`
[INFO] [stdout] 3e274b085276ab6b36bf58e3bd3af042070de3c946cf1a4d914c07db23766973
