[INFO] cloning repository https://github.com/ddmills/rltk
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ddmills/rltk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fddmills%2Frltk", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fddmills%2Frltk'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8a283a9ca829ad8958b52fe1cac5de23ed9c7d15
[INFO] checking ddmills/rltk against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fddmills%2Frltk" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ddmills/rltk
[INFO] finished tweaking git repo https://github.com/ddmills/rltk
[INFO] tweaked toml for git repo https://github.com/ddmills/rltk written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ddmills/rltk on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ddmills/rltk 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bracket-lib v0.8.1
[INFO] [stderr]   Downloaded wayland-sys v0.23.6
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.6
[INFO] [stderr]   Downloaded wayland-scanner v0.23.6
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.1.4
[INFO] [stderr]   Downloaded instant v0.1.3
[INFO] [stderr]   Downloaded ahash v0.3.4
[INFO] [stderr]   Downloaded wasm-timer v0.1.3
[INFO] [stderr]   Downloaded bracket-random v0.8.0
[INFO] [stderr]   Downloaded crossbeam v0.7.3
[INFO] [stderr]   Downloaded calloop v0.4.4
[INFO] [stderr]   Downloaded rand_xorshift v0.2.0
[INFO] [stderr]   Downloaded bytemuck v1.2.0
[INFO] [stderr]   Downloaded bracket-algorithm-traits v0.8.1
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.4
[INFO] [stderr]   Downloaded glutin_gles2_sys v0.1.4
[INFO] [stderr]   Downloaded bracket-geometry v0.8.1
[INFO] [stderr]   Downloaded send_wrapper v0.2.0
[INFO] [stderr]   Downloaded wayland-commons v0.23.6
[INFO] [stderr]   Downloaded bracket-color v0.8.1
[INFO] [stderr]   Downloaded bracket-noise v0.8.1
[INFO] [stderr]   Downloaded glow v0.4.0
[INFO] [stderr]   Downloaded deflate v0.8.4
[INFO] [stderr]   Downloaded glutin v0.24.0
[INFO] [stderr]   Downloaded flate2 v1.0.14
[INFO] [stderr]   Downloaded wayland-client v0.23.6
[INFO] [stderr]   Downloaded wayland-protocols v0.23.6
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.6.6
[INFO] [stderr]   Downloaded syn v1.0.19
[INFO] [stderr]   Downloaded png v0.16.3
[INFO] [stderr]   Downloaded wide v0.4.6
[INFO] [stderr]   Downloaded image v0.23.4
[INFO] [stderr]   Downloaded ultraviolet v0.4.6
[INFO] [stderr]   Downloaded rltk v0.8.1
[INFO] [stderr]   Downloaded bracket-pathfinding v0.8.1
[INFO] [stderr]   Downloaded winit v0.22.1
[INFO] [stderr]   Downloaded miniz_oxide v0.3.6
[INFO] [stderr]   Downloaded slotmap v0.3.0
[INFO] [stderr]   Downloaded web-sys v0.3.39
[INFO] [stderr]   Downloaded bracket-terminal v0.8.1
[INFO] [stderr]   Downloaded object-pool v0.4.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4bf8aec085b81a59a5da4be4ef7c6fe81c16015bda2495af3f4cee824ee05173
[INFO] running `Command { std: "docker" "start" "-a" "4bf8aec085b81a59a5da4be4ef7c6fe81c16015bda2495af3f4cee824ee05173", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4bf8aec085b81a59a5da4be4ef7c6fe81c16015bda2495af3f4cee824ee05173", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bf8aec085b81a59a5da4be4ef7c6fe81c16015bda2495af3f4cee824ee05173", kill_on_drop: false }`
[INFO] [stdout] 4bf8aec085b81a59a5da4be4ef7c6fe81c16015bda2495af3f4cee824ee05173
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10b0c666cbc37c9906833b4682c750fa635fff2d858f3b703785db733a8ab11b
[INFO] running `Command { std: "docker" "start" "-a" "10b0c666cbc37c9906833b4682c750fa635fff2d858f3b703785db733a8ab11b", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.12
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling syn v1.0.19
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling cc v1.0.52
[INFO] [stderr]    Compiling serde v1.0.110
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]     Checking bytemuck v1.2.0
[INFO] [stderr]    Compiling wide v0.4.6
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]    Compiling version_check v0.9.1
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling quote v1.0.4
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]     Checking ultraviolet v0.4.6
[INFO] [stderr]    Compiling glow v0.4.0
[INFO] [stderr]    Compiling nom v5.1.1
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking crossbeam-channel v0.4.2
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking deflate v0.8.4
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking aho-corasick v0.7.10
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking instant v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.6.17
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking png v0.16.3
[INFO] [stderr]     Checking crossbeam v0.7.3
[INFO] [stderr]     Checking rand_xorshift v0.2.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.19
[INFO] [stderr]    Compiling hashbrown v0.7.2
[INFO] [stderr]     Checking miniz_oxide v0.3.6
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking ahash v0.3.4
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]    Compiling ryu v1.0.4
[INFO] [stderr]     Checking atom v0.3.5
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking shrev v1.1.1
[INFO] [stderr]     Checking tuple_utils v0.3.0
[INFO] [stderr]     Checking itoa v0.4.5
[INFO] [stderr]     Checking image v0.23.4
[INFO] [stderr]     Checking flate2 v1.0.14
[INFO] [stderr]     Checking regex v1.3.7
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]    Compiling serde_derive v1.0.110
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]     Checking hibitset v0.6.3
[INFO] [stderr]     Checking tynm v0.1.4
[INFO] [stderr]     Checking shred v0.10.2
[INFO] [stderr]     Checking bracket-geometry v0.8.1
[INFO] [stderr]     Checking bracket-random v0.8.0
[INFO] [stderr]     Checking object-pool v0.4.4
[INFO] [stderr]     Checking bracket-color v0.8.1
[INFO] [stderr]     Checking specs v0.16.1
[INFO] [stderr]     Checking serde_json v1.0.53
[INFO] [stderr]     Checking bracket-noise v0.8.1
[INFO] [stderr]     Checking bracket-algorithm-traits v0.8.1
[INFO] [stderr]     Checking bracket-pathfinding v0.8.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking winit v0.22.1
[INFO] [stderr]     Checking glutin v0.24.0
[INFO] [stderr]     Checking bracket-terminal v0.8.1
[INFO] [stderr]     Checking bracket-lib v0.8.1
[INFO] [stderr]     Checking rltk v0.8.1
[INFO] [stderr]     Checking rltk v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for (entity, mut viewshed, _monster, mut pos) in
[INFO] [stdout]    |                      ----^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for (entity, mut viewshed, _monster, mut pos) in
[INFO] [stdout]    |                                              ----^^^
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/damage_system.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |         for (mut stats, damage) in (&mut stats, &damage).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/components.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]   |                     ^--------------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `PositionSaveloadData` is not local
[INFO] [stdout]   |                     `Serialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PositionSaveloadData`
[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: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/components.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]   |                     ^--------------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `PositionSaveloadData` is not local
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PositionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BlocksTile`
[INFO] [stdout] 15 | pub struct BlocksTile {}
[INFO] [stdout]    |            ---------- `BlocksTile` 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]   --> src/components.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BlocksTile`
[INFO] [stdout] 15 | pub struct BlocksTile {}
[INFO] [stdout]    |            ---------- `BlocksTile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `NameSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NameSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `NameSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NameSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToMeleeSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToMeleeSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToMeleeSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToMeleeSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `SufferDamageSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SufferDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `SufferDamageSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SufferDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `RenderableSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RenderableSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `RenderableSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RenderableSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `CombatStatsSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CombatStatsSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `CombatStatsSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CombatStatsSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout] 62 | pub struct Player {}
[INFO] [stdout]    |            ------ `Player` 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]   --> src/components.rs:61:32
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout] 62 | pub struct Player {}
[INFO] [stdout]    |            ------ `Player` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Monster`
[INFO] [stdout] 65 | pub struct Monster {}
[INFO] [stdout]    |            ------- `Monster` 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]   --> src/components.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Monster`
[INFO] [stdout] 65 | pub struct Monster {}
[INFO] [stdout]    |            ------- `Monster` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `ViewshedSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewshedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `ViewshedSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewshedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Item`
[INFO] [stdout] 75 | pub struct Item {}
[INFO] [stdout]    |            ---- `Item` 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]   --> src/components.rs:74:32
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Item`
[INFO] [stdout] 75 | pub struct Item {}
[INFO] [stdout]    |            ---- `Item` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `PotionSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PotionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `PotionSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PotionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `InBackpackSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InBackpackSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `InBackpackSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InBackpackSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToPickupItemSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToPickupItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToPickupItemSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToPickupItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToUseItemSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToUseItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToUseItemSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToUseItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToDropItemSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToDropItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToDropItemSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToDropItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                     ^--------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Consumable`
[INFO] [stdout] 105 | pub struct Consumable {}
[INFO] [stdout]     |            ---------- `Consumable` 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]    --> src/components.rs:104:32
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                                ^----------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `Deserialize` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Consumable`
[INFO] [stdout] 105 | pub struct Consumable {}
[INFO] [stdout]     |            ---------- `Consumable` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ConfusionSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ConfusionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ConfusionSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ConfusionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ProvidesHealingSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ProvidesHealingSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ProvidesHealingSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ProvidesHealingSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `RangedSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RangedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `RangedSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RangedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `InflictsDamageSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InflictsDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `InflictsDamageSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InflictsDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `AreaOfEffectSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AreaOfEffectSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for (entity, mut viewshed, _monster, mut pos) in
[INFO] [stdout]    |                      ----^^^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for (entity, mut viewshed, _monster, mut pos) in
[INFO] [stdout]    |                                              ----^^^
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `AreaOfEffectSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AreaOfEffectSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                     ^--------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SerializationHelper`
[INFO] [stdout] 133 | pub struct SerializationHelper {
[INFO] [stdout]     |            ------------------- `SerializationHelper` 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]    --> src/components.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                                ^----------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `Deserialize` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SerializationHelper`
[INFO] [stdout] 133 | pub struct SerializationHelper {
[INFO] [stdout]     |            ------------------- `SerializationHelper` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/map.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(PartialEq, Copy, Clone, 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_TileType`
[INFO] [stdout] 9 | pub enum TileType {
[INFO] [stdout]   |          -------- `TileType` 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]  --> src/map.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(PartialEq, Copy, Clone, 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_TileType`
[INFO] [stdout] 9 | pub enum TileType {
[INFO] [stdout]   |          -------- `TileType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/map.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Default, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                   ^--------
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `Serialize` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout] 15 | pub struct Map {
[INFO] [stdout]    |            --- `Map` 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]   --> src/map.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Default, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                              ^----------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Deserialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout] 15 | pub struct Map {
[INFO] [stdout]    |            --- `Map` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/rect.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PartialEq, Copy, Clone, 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_Rect`
[INFO] [stdout] 4 | pub struct Rect {
[INFO] [stdout]   |            ---- `Rect` 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]  --> src/rect.rs:3:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PartialEq, Copy, Clone, 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_Rect`
[INFO] [stdout] 4 | pub struct Rect {
[INFO] [stdout]   |            ---- `Rect` 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: variable does not need to be mutable
[INFO] [stdout]   --> src/damage_system.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |         for (mut stats, damage) in (&mut stats, &damage).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/components.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]   |                     ^--------------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `PositionSaveloadData` is not local
[INFO] [stdout]   |                     `Serialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PositionSaveloadData`
[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: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/components.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]   |                     ^--------------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     `PositionSaveloadData` is not local
[INFO] [stdout]   |                     `Deserialize` is not local
[INFO] [stdout]   |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PositionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_BlocksTile`
[INFO] [stdout] 15 | pub struct BlocksTile {}
[INFO] [stdout]    |            ---------- `BlocksTile` 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]   --> src/components.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BlocksTile`
[INFO] [stdout] 15 | pub struct BlocksTile {}
[INFO] [stdout]    |            ---------- `BlocksTile` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `NameSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NameSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `NameSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NameSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToMeleeSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToMeleeSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToMeleeSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToMeleeSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `SufferDamageSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SufferDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `SufferDamageSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SufferDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `RenderableSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RenderableSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `RenderableSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RenderableSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `CombatStatsSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CombatStatsSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `CombatStatsSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_CombatStatsSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Player`
[INFO] [stdout] 62 | pub struct Player {}
[INFO] [stdout]    |            ------ `Player` 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]   --> src/components.rs:61:32
[INFO] [stdout]    |
[INFO] [stdout] 61 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Player`
[INFO] [stdout] 62 | pub struct Player {}
[INFO] [stdout]    |            ------ `Player` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Monster`
[INFO] [stdout] 65 | pub struct Monster {}
[INFO] [stdout]    |            ------- `Monster` 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]   --> src/components.rs:64:32
[INFO] [stdout]    |
[INFO] [stdout] 64 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Monster`
[INFO] [stdout] 65 | pub struct Monster {}
[INFO] [stdout]    |            ------- `Monster` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `ViewshedSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ViewshedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `ViewshedSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ViewshedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                     ^--------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Item`
[INFO] [stdout] 75 | pub struct Item {}
[INFO] [stdout]    |            ---- `Item` 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]   --> src/components.rs:74:32
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                                ^----------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                `Deserialize` is not local
[INFO] [stdout]    |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Item`
[INFO] [stdout] 75 | pub struct Item {}
[INFO] [stdout]    |            ---- `Item` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `PotionSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_PotionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `PotionSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_PotionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `InBackpackSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InBackpackSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `InBackpackSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InBackpackSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToPickupItemSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToPickupItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToPickupItemSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToPickupItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToUseItemSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToUseItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToUseItemSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToUseItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToDropItemSaveloadData` is not local
[INFO] [stdout]    |                     `Serialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToDropItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/components.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]    |                     ^--------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `WantsToDropItemSaveloadData` is not local
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToDropItemSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                     ^--------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Consumable`
[INFO] [stdout] 105 | pub struct Consumable {}
[INFO] [stdout]     |            ---------- `Consumable` 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]    --> src/components.rs:104:32
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                                ^----------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `Deserialize` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Consumable`
[INFO] [stdout] 105 | pub struct Consumable {}
[INFO] [stdout]     |            ---------- `Consumable` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ConfusionSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ConfusionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:107:21
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ConfusionSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ConfusionSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ProvidesHealingSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ProvidesHealingSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `ProvidesHealingSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ProvidesHealingSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `RangedSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RangedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `RangedSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RangedSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `InflictsDamageSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InflictsDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `InflictsDamageSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InflictsDamageSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `AreaOfEffectSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_AreaOfEffectSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `AreaOfEffectSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_AreaOfEffectSaveloadData`
[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` which comes from the expansion of the derive macro `ConvertSaveload` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/components.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                     ^--------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SerializationHelper`
[INFO] [stdout] 133 | pub struct SerializationHelper {
[INFO] [stdout]     |            ------------------- `SerializationHelper` 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]    --> src/components.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[derive(Component, Serialize, Deserialize, Clone)]
[INFO] [stdout]     |                                ^----------
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                `Deserialize` is not local
[INFO] [stdout]     |                                move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SerializationHelper`
[INFO] [stdout] 133 | pub struct SerializationHelper {
[INFO] [stdout]     |            ------------------- `SerializationHelper` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/map.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(PartialEq, Copy, Clone, 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_TileType`
[INFO] [stdout] 9 | pub enum TileType {
[INFO] [stdout]   |          -------- `TileType` 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]  --> src/map.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(PartialEq, Copy, Clone, 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_TileType`
[INFO] [stdout] 9 | pub enum TileType {
[INFO] [stdout]   |          -------- `TileType` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/map.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Default, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                   ^--------
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   `Serialize` is not local
[INFO] [stdout]    |                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout] 15 | pub struct Map {
[INFO] [stdout]    |            --- `Map` 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]   --> src/map.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Default, Serialize, Deserialize, Clone)]
[INFO] [stdout]    |                              ^----------
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `Deserialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout] 15 | pub struct Map {
[INFO] [stdout]    |            --- `Map` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/rect.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PartialEq, Copy, Clone, 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_Rect`
[INFO] [stdout] 4 | pub struct Rect {
[INFO] [stdout]   |            ---- `Rect` 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]  --> src/rect.rs:3:45
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(PartialEq, Copy, Clone, 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_Rect`
[INFO] [stdout] 4 | pub struct Rect {
[INFO] [stdout]   |            ---- `Rect` 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 52.93s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "10b0c666cbc37c9906833b4682c750fa635fff2d858f3b703785db733a8ab11b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10b0c666cbc37c9906833b4682c750fa635fff2d858f3b703785db733a8ab11b", kill_on_drop: false }`
[INFO] [stdout] 10b0c666cbc37c9906833b4682c750fa635fff2d858f3b703785db733a8ab11b
