[INFO] cloning repository https://github.com/zsien-debian-repo/greetd
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zsien-debian-repo/greetd" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzsien-debian-repo%2Fgreetd", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzsien-debian-repo%2Fgreetd'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5cc80ffe877c3d57af5d6a8b567523c2c7f11b1d
[INFO] checking zsien-debian-repo/greetd against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzsien-debian-repo%2Fgreetd" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zsien-debian-repo/greetd
[INFO] finished tweaking git repo https://github.com/zsien-debian-repo/greetd
[INFO] tweaked toml for git repo https://github.com/zsien-debian-repo/greetd written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zsien-debian-repo/greetd on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zsien-debian-repo/greetd 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking zsien-debian-repo/greetd against 52995a223f2919dd3e2e427231db90a257350ded for pr-129249-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzsien-debian-repo%2Fgreetd" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zsien-debian-repo/greetd
[INFO] finished tweaking git repo https://github.com/zsien-debian-repo/greetd
[INFO] tweaked toml for git repo https://github.com/zsien-debian-repo/greetd written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zsien-debian-repo/greetd on toolchain 52995a223f2919dd3e2e427231db90a257350ded
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zsien-debian-repo/greetd 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" "+52995a223f2919dd3e2e427231db90a257350ded" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.12
[INFO] [stderr]   Downloaded tokio-macros v0.2.4
[INFO] [stderr]   Downloaded quote v1.0.5
[INFO] [stderr]   Downloaded thiserror-impl v1.0.17
[INFO] [stderr]   Downloaded mio-named-pipes v0.1.6
[INFO] [stderr]   Downloaded pam-sys v0.5.6
[INFO] [stderr]   Downloaded rpassword v4.0.5
[INFO] [stderr]   Downloaded enquote v1.0.3
[INFO] [stderr]   Downloaded net2 v0.2.34
[INFO] [stderr]   Downloaded async-trait v0.1.31
[INFO] [stderr]   Downloaded miow v0.3.3
[INFO] [stderr]   Downloaded thiserror v1.0.17
[INFO] [stderr]   Downloaded users v0.9.1
[INFO] [stderr]   Downloaded ryu v1.0.4
[INFO] [stderr]   Downloaded arc-swap v0.4.6
[INFO] [stderr]   Downloaded cc v1.0.53
[INFO] [stderr]   Downloaded serde_derive v1.0.110
[INFO] [stderr]   Downloaded serde v1.0.110
[INFO] [stderr]   Downloaded serde_json v1.0.53
[INFO] [stderr]   Downloaded syn v1.0.21
[INFO] [stderr]   Downloaded mio v0.6.22
[INFO] [stderr]   Downloaded tokio v0.2.11
[INFO] [stderr]   Downloaded libc v0.2.70
[INFO] [stderr]   Downloaded pin-project-lite v0.1.5
[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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd
[INFO] running `Command { std: "docker" "start" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd", 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" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd", 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" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd" "/opt/rustwide/cargo-home/bin/cargo" "+52995a223f2919dd3e2e427231db90a257350ded" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.21
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling serde v1.0.110
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]     Checking arc-swap v0.4.6
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]     Checking pin-project-lite v0.1.5
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling pam-sys v0.5.6
[INFO] [stderr]     Checking bitflags v1.2.1
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking enquote v1.0.3
[INFO] [stderr]     Checking inish v0.1.0 (/opt/rustwide/workdir/inish)
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]    Compiling quote v1.0.5
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking signal-hook-registry v1.2.0
[INFO] [stderr]     Checking rpassword v4.0.5
[INFO] [stderr]     Checking users v0.9.1
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]    Compiling serde_derive v1.0.110
[INFO] [stderr]    Compiling thiserror-impl v1.0.17
[INFO] [stderr]    Compiling tokio-macros v0.2.4
[INFO] [stderr]    Compiling async-trait v0.1.31
[INFO] [stderr]     Checking tokio v0.2.11
[INFO] [stderr]     Checking thiserror v1.0.17
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking greetd_ipc v0.6.0 (/opt/rustwide/workdir/greetd_ipc)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd_ipc/src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Request`
[INFO] [stdout] ...
[INFO] [stdout] 54 | pub enum Request {
[INFO] [stdout]    |          ------- `Request` 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]   --> greetd_ipc/src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Request`
[INFO] [stdout] ...
[INFO] [stdout] 54 | pub enum Request {
[INFO] [stdout]    |          ------- `Request` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd_ipc/src/lib.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorType`
[INFO] [stdout] 88 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 89 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` 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]   --> greetd_ipc/src/lib.rs:87:30
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorType`
[INFO] [stdout] 88 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 89 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> greetd_ipc/src/lib.rs:98:17
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthMessageType`
[INFO] [stdout]  99 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 100 | pub enum AuthMessageType {
[INFO] [stdout]     |          --------------- `AuthMessageType` 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]    --> greetd_ipc/src/lib.rs:98:30
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                              ^--------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthMessageType`
[INFO] [stdout]  99 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 100 | pub enum AuthMessageType {
[INFO] [stdout]     |          --------------- `AuthMessageType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> greetd_ipc/src/lib.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Response`
[INFO] [stdout] ...
[INFO] [stdout] 129 | pub enum Response {
[INFO] [stdout]     |          -------- `Response` 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]    --> greetd_ipc/src/lib.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                              ^--------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Response`
[INFO] [stdout] ...
[INFO] [stdout] 129 | pub enum Response {
[INFO] [stdout]     |          -------- `Response` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd_ipc/src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Request`
[INFO] [stdout] ...
[INFO] [stdout] 54 | pub enum Request {
[INFO] [stdout]    |          ------- `Request` 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]   --> greetd_ipc/src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Request`
[INFO] [stdout] ...
[INFO] [stdout] 54 | pub enum Request {
[INFO] [stdout]    |          ------- `Request` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd_ipc/src/lib.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorType`
[INFO] [stdout] 88 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 89 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` 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]   --> greetd_ipc/src/lib.rs:87:30
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorType`
[INFO] [stdout] 88 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 89 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> greetd_ipc/src/lib.rs:98:17
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthMessageType`
[INFO] [stdout]  99 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 100 | pub enum AuthMessageType {
[INFO] [stdout]     |          --------------- `AuthMessageType` 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]    --> greetd_ipc/src/lib.rs:98:30
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                              ^--------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthMessageType`
[INFO] [stdout]  99 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 100 | pub enum AuthMessageType {
[INFO] [stdout]     |          --------------- `AuthMessageType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> greetd_ipc/src/lib.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Response`
[INFO] [stdout] ...
[INFO] [stdout] 129 | pub enum Response {
[INFO] [stdout]     |          -------- `Response` 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]    --> greetd_ipc/src/lib.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                              ^--------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Response`
[INFO] [stdout] ...
[INFO] [stdout] 129 | pub enum Response {
[INFO] [stdout]     |          -------- `Response` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fakegreet v0.6.0 (/opt/rustwide/workdir/fakegreet)
[INFO] [stderr]     Checking agreety v0.6.0 (/opt/rustwide/workdir/agreety)
[INFO] [stderr]     Checking greetd v0.6.0 (/opt/rustwide/workdir/greetd)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> fakegreet/src/error.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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]  --> fakegreet/src/error.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                                ^--------
[INFO] [stdout]   |                                                |
[INFO] [stdout]   |                                                `Serialize` is not local
[INFO] [stdout]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd_ipc/src/lib.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Request`
[INFO] [stdout] ...
[INFO] [stdout] 54 | pub enum Request {
[INFO] [stdout]    |          ------- `Request` 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]   --> greetd_ipc/src/lib.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Request`
[INFO] [stdout] ...
[INFO] [stdout] 54 | pub enum Request {
[INFO] [stdout]    |          ------- `Request` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd_ipc/src/lib.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ErrorType`
[INFO] [stdout] 88 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 89 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` 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]   --> greetd_ipc/src/lib.rs:87:30
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]    |                              ^--------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Serialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ErrorType`
[INFO] [stdout] 88 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 89 | pub enum ErrorType {
[INFO] [stdout]    |          --------- `ErrorType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> greetd_ipc/src/lib.rs:98:17
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthMessageType`
[INFO] [stdout]  99 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 100 | pub enum AuthMessageType {
[INFO] [stdout]     |          --------------- `AuthMessageType` 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]    --> greetd_ipc/src/lib.rs:98:30
[INFO] [stdout]     |
[INFO] [stdout]  98 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                              ^--------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthMessageType`
[INFO] [stdout]  99 | #[serde(rename_all = "snake_case")]
[INFO] [stdout] 100 | pub enum AuthMessageType {
[INFO] [stdout]     |          --------------- `AuthMessageType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> greetd_ipc/src/lib.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                 ^----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `Deserialize` is not local
[INFO] [stdout]     |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Response`
[INFO] [stdout] ...
[INFO] [stdout] 129 | pub enum Response {
[INFO] [stdout]     |          -------- `Response` 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]    --> greetd_ipc/src/lib.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[derive(Debug, Deserialize, Serialize)]
[INFO] [stdout]     |                              ^--------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              `Serialize` is not local
[INFO] [stdout]     |                              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Response`
[INFO] [stdout] ...
[INFO] [stdout] 129 | pub enum Response {
[INFO] [stdout]     |          -------- `Response` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> fakegreet/src/error.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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]  --> fakegreet/src/error.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                                ^--------
[INFO] [stdout]   |                                                |
[INFO] [stdout]   |                                                `Serialize` is not local
[INFO] [stdout]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> greetd/src/session/interface.rs:121:30
[INFO] [stdout]     |
[INFO] [stdout] 111 | /                 execv(
[INFO] [stdout] 112 | |                     &bin,
[INFO] [stdout] 113 | |                     &[
[INFO] [stdout] 114 | |                         &bin,
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |                 .expect("unable to exec");
[INFO] [stdout]     | |_________________________________________- any code following this expression is unreachable
[INFO] [stdout] 120 |
[INFO] [stdout] 121 |                   unreachable!("after exec");
[INFO] [stdout]     |                                ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout] note: this expression has type `void::Void`, which is uninhabited
[INFO] [stdout]    --> greetd/src/session/interface.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | /                 execv(
[INFO] [stdout] 112 | |                     &bin,
[INFO] [stdout] 113 | |                     &[
[INFO] [stdout] 114 | |                         &bin,
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |                 .expect("unable to exec");
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> greetd/src/session/worker.rs:257:26
[INFO] [stdout]     |
[INFO] [stdout] 246 | /             execve(
[INFO] [stdout] 247 | |                 &cpath,
[INFO] [stdout] 248 | |                 &[
[INFO] [stdout] 249 | |                     &cpath,
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |             .expect("unable to exec");
[INFO] [stdout]     | |_____________________________________- any code following this expression is unreachable
[INFO] [stdout] 256 |
[INFO] [stdout] 257 |               unreachable!("after exec");
[INFO] [stdout]     |                            ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout] note: this expression has type `void::Void`, which is uninhabited
[INFO] [stdout]    --> greetd/src/session/worker.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 | /             execve(
[INFO] [stdout] 247 | |                 &cpath,
[INFO] [stdout] 248 | |                 &[
[INFO] [stdout] 249 | |                     &cpath,
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |             .expect("unable to exec");
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Scrambler` is never used
[INFO] [stdout]  --> greetd/src/scrambler.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Scrambler {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> greetd/src/error.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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]  --> greetd/src/error.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                                ^--------
[INFO] [stdout]   |                                                |
[INFO] [stdout]   |                                                `Serialize` is not local
[INFO] [stdout]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> greetd/src/session/conv.rs:30:63
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(sock: &'a std::os::unix::net::UnixDatagram) -> SessionConv {
[INFO] [stdout]    |                       -- the lifetime is named here           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(sock: &'a std::os::unix::net::UnixDatagram) -> SessionConv<'a> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthMessageType`
[INFO] [stdout] 18 | pub enum AuthMessageType {
[INFO] [stdout]    |          --------------- `AuthMessageType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthMessageType`
[INFO] [stdout] 18 | pub enum AuthMessageType {
[INFO] [stdout]    |          --------------- `AuthMessageType` 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]   --> greetd/src/session/worker.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TerminalMode`
[INFO] [stdout] 26 | pub enum TerminalMode {
[INFO] [stdout]    |          ------------ `TerminalMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TerminalMode`
[INFO] [stdout] 26 | pub enum TerminalMode {
[INFO] [stdout]    |          ------------ `TerminalMode` 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]   --> greetd/src/session/worker.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ParentToSessionChild`
[INFO] [stdout] 36 | pub enum ParentToSessionChild {
[INFO] [stdout]    |          -------------------- `ParentToSessionChild` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ParentToSessionChild`
[INFO] [stdout] 36 | pub enum ParentToSessionChild {
[INFO] [stdout]    |          -------------------- `ParentToSessionChild` 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]   --> greetd/src/session/worker.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SessionChildToParent`
[INFO] [stdout] 65 | pub enum SessionChildToParent {
[INFO] [stdout]    |          -------------------- `SessionChildToParent` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SessionChildToParent`
[INFO] [stdout] 65 | pub enum SessionChildToParent {
[INFO] [stdout]    |          -------------------- `SessionChildToParent` 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: unreachable expression
[INFO] [stdout]    --> greetd/src/session/interface.rs:121:30
[INFO] [stdout]     |
[INFO] [stdout] 111 | /                 execv(
[INFO] [stdout] 112 | |                     &bin,
[INFO] [stdout] 113 | |                     &[
[INFO] [stdout] 114 | |                         &bin,
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |                 .expect("unable to exec");
[INFO] [stdout]     | |_________________________________________- any code following this expression is unreachable
[INFO] [stdout] 120 |
[INFO] [stdout] 121 |                   unreachable!("after exec");
[INFO] [stdout]     |                                ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout] note: this expression has type `void::Void`, which is uninhabited
[INFO] [stdout]    --> greetd/src/session/interface.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 | /                 execv(
[INFO] [stdout] 112 | |                     &bin,
[INFO] [stdout] 113 | |                     &[
[INFO] [stdout] 114 | |                         &bin,
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |                 .expect("unable to exec");
[INFO] [stdout]     | |_________________________________________^
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> greetd/src/session/worker.rs:257:26
[INFO] [stdout]     |
[INFO] [stdout] 246 | /             execve(
[INFO] [stdout] 247 | |                 &cpath,
[INFO] [stdout] 248 | |                 &[
[INFO] [stdout] 249 | |                     &cpath,
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |             .expect("unable to exec");
[INFO] [stdout]     | |_____________________________________- any code following this expression is unreachable
[INFO] [stdout] 256 |
[INFO] [stdout] 257 |               unreachable!("after exec");
[INFO] [stdout]     |                            ^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout] note: this expression has type `void::Void`, which is uninhabited
[INFO] [stdout]    --> greetd/src/session/worker.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 | /             execve(
[INFO] [stdout] 247 | |                 &cpath,
[INFO] [stdout] 248 | |                 &[
[INFO] [stdout] 249 | |                     &cpath,
[INFO] [stdout] ...   |
[INFO] [stdout] 255 | |             .expect("unable to exec");
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Scrambler` is never used
[INFO] [stdout]  --> greetd/src/scrambler.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Scrambler {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> greetd/src/error.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                   ^----------
[INFO] [stdout]   |                                   |
[INFO] [stdout]   |                                   `Deserialize` is not local
[INFO] [stdout]   |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` 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]  --> greetd/src/error.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive(Debug, ThisError, Clone, Deserialize, Serialize)]
[INFO] [stdout]   |                                                ^--------
[INFO] [stdout]   |                                                |
[INFO] [stdout]   |                                                `Serialize` is not local
[INFO] [stdout]   |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Error`
[INFO] [stdout] 7 | pub enum Error {
[INFO] [stdout]   |          ----- `Error` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> greetd/src/session/conv.rs:30:63
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(sock: &'a std::os::unix::net::UnixDatagram) -> SessionConv {
[INFO] [stdout]    |                       -- the lifetime is named here           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(sock: &'a std::os::unix::net::UnixDatagram) -> SessionConv<'a> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AuthMessageType`
[INFO] [stdout] 18 | pub enum AuthMessageType {
[INFO] [stdout]    |          --------------- `AuthMessageType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AuthMessageType`
[INFO] [stdout] 18 | pub enum AuthMessageType {
[INFO] [stdout]    |          --------------- `AuthMessageType` 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]   --> greetd/src/session/worker.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TerminalMode`
[INFO] [stdout] 26 | pub enum TerminalMode {
[INFO] [stdout]    |          ------------ `TerminalMode` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:25:35
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TerminalMode`
[INFO] [stdout] 26 | pub enum TerminalMode {
[INFO] [stdout]    |          ------------ `TerminalMode` 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]   --> greetd/src/session/worker.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ParentToSessionChild`
[INFO] [stdout] 36 | pub enum ParentToSessionChild {
[INFO] [stdout]    |          -------------------- `ParentToSessionChild` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ParentToSessionChild`
[INFO] [stdout] 36 | pub enum ParentToSessionChild {
[INFO] [stdout]    |          -------------------- `ParentToSessionChild` 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]   --> greetd/src/session/worker.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SessionChildToParent`
[INFO] [stdout] 65 | pub enum SessionChildToParent {
[INFO] [stdout]    |          -------------------- `SessionChildToParent` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` 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 `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> greetd/src/session/worker.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Clone, Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SessionChildToParent`
[INFO] [stdout] 65 | pub enum SessionChildToParent {
[INFO] [stdout]    |          -------------------- `SessionChildToParent` 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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.35s
[INFO] running `Command { std: "docker" "inspect" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd", kill_on_drop: false }`
[INFO] [stdout] 4fddc5255d96bb29e237187c3aeb737b393adcc568898bc3c14b8f6d42fddefd
