[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 eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzsien-debian-repo%2Fgreetd" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/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-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zsien-debian-repo/greetd on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded tokio-macros v0.2.4
[INFO] [stderr]   Downloaded ws2_32-sys v0.2.1
[INFO] [stderr]   Downloaded winapi-build v0.1.1
[INFO] [stderr]   Downloaded mio-uds v0.6.8
[INFO] [stderr]   Downloaded void v1.0.2
[INFO] [stderr]   Downloaded enquote v1.0.3
[INFO] [stderr]   Downloaded itoa v0.4.5
[INFO] [stderr]   Downloaded pam-sys v0.5.6
[INFO] [stderr]   Downloaded fuchsia-zircon-sys v0.3.3
[INFO] [stderr]   Downloaded mio-named-pipes v0.1.6
[INFO] [stderr]   Downloaded thiserror v1.0.17
[INFO] [stderr]   Downloaded thiserror-impl v1.0.17
[INFO] [stderr]   Downloaded slab v0.4.2
[INFO] [stderr]   Downloaded signal-hook-registry v1.2.0
[INFO] [stderr]   Downloaded rpassword v4.0.5
[INFO] [stderr]   Downloaded quote v1.0.5
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded iovec v0.1.4
[INFO] [stderr]   Downloaded redox_syscall v0.1.56
[INFO] [stderr]   Downloaded pin-project-lite v0.1.5
[INFO] [stderr]   Downloaded net2 v0.2.34
[INFO] [stderr]   Downloaded miow v0.2.1
[INFO] [stderr]   Downloaded socket2 v0.3.12
[INFO] [stderr]   Downloaded memchr v2.3.3
[INFO] [stderr]   Downloaded unicode-width v0.1.7
[INFO] [stderr]   Downloaded users v0.9.1
[INFO] [stderr]   Downloaded fuchsia-zircon v0.3.3
[INFO] [stderr]   Downloaded async-trait v0.1.31
[INFO] [stderr]   Downloaded getopts v0.2.21
[INFO] [stderr]   Downloaded miow v0.3.3
[INFO] [stderr]   Downloaded ryu v1.0.4
[INFO] [stderr]   Downloaded proc-macro2 v1.0.12
[INFO] [stderr]   Downloaded arc-swap v0.4.6
[INFO] [stderr]   Downloaded kernel32-sys v0.2.2
[INFO] [stderr]   Downloaded bytes v0.5.4
[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 cc v1.0.53
[INFO] [stderr]   Downloaded mio v0.6.22
[INFO] [stderr]   Downloaded tokio v0.2.11
[INFO] [stderr]   Downloaded syn v1.0.21
[INFO] [stderr]   Downloaded nix v0.17.0
[INFO] [stderr]   Downloaded libc v0.2.70
[INFO] [stderr]   Downloaded winapi v0.2.8
[INFO] [stderr]   Downloaded winapi v0.3.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d
[INFO] running `Command { std: "docker" "start" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d", 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" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d", 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" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "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]    Compiling bitflags v1.2.1
[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 pin-project-lite v0.1.5
[INFO] [stderr]     Checking bytes v0.5.4
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling pam-sys v0.5.6
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking inish v0.1.0 (/opt/rustwide/workdir/inish)
[INFO] [stderr]     Checking enquote v1.0.3
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]    Compiling quote v1.0.5
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.34
[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 tokio-macros v0.2.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.17
[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] [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]    --> 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] [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]  --> 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 24.88s
[INFO] running `Command { std: "docker" "inspect" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d", kill_on_drop: false }`
[INFO] [stdout] dd75e9c532b138123292353cfe3a4d711b1554b06dcc0037e739c94301aff31d
