[INFO] cloning repository https://github.com/hoodsuphopeshigh/roguelike
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hoodsuphopeshigh/roguelike" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhoodsuphopeshigh%2Froguelike", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhoodsuphopeshigh%2Froguelike'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7129f50b51be604547575c3fc4438545ccb27230
[INFO] checking hoodsuphopeshigh/roguelike against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhoodsuphopeshigh%2Froguelike" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hoodsuphopeshigh/roguelike
[INFO] finished tweaking git repo https://github.com/hoodsuphopeshigh/roguelike
[INFO] tweaked toml for git repo https://github.com/hoodsuphopeshigh/roguelike written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hoodsuphopeshigh/roguelike 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/hoodsuphopeshigh/roguelike 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 wasm-bindgen-macro v0.2.63
[INFO] [stderr]   Downloaded hermit-abi v0.1.14
[INFO] [stderr]   Downloaded instant v0.1.4
[INFO] [stderr]   Downloaded rltk v0.8.1
[INFO] [stderr]   Downloaded proc-macro-crate v0.1.4
[INFO] [stderr]   Downloaded adler32 v1.1.0
[INFO] [stderr]   Downloaded num-iter v0.1.41
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.63
[INFO] [stderr]   Downloaded serde v1.0.112
[INFO] [stderr]   Downloaded core-graphics v0.19.0
[INFO] [stderr]   Downloaded wide v0.4.6
[INFO] [stderr]   Downloaded cocoa v0.20.1
[INFO] [stderr]   Downloaded png v0.16.5
[INFO] [stderr]   Downloaded js-sys v0.3.40
[INFO] [stderr]   Downloaded serde_derive v1.0.112
[INFO] [stderr]   Downloaded serde_json v1.0.55
[INFO] [stderr]   Downloaded libloading v0.6.2
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.63
[INFO] [stderr]   Downloaded image v0.23.5
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.63
[INFO] [stderr]   Downloaded syn v1.0.31
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.63
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 0cfcec5a31120d6732faab6253774432560a8cbab9a9d3d34ceadd5f2402b4ab
[INFO] running `Command { std: "docker" "start" "-a" "0cfcec5a31120d6732faab6253774432560a8cbab9a9d3d34ceadd5f2402b4ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0cfcec5a31120d6732faab6253774432560a8cbab9a9d3d34ceadd5f2402b4ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cfcec5a31120d6732faab6253774432560a8cbab9a9d3d34ceadd5f2402b4ab", kill_on_drop: false }`
[INFO] [stdout] 0cfcec5a31120d6732faab6253774432560a8cbab9a9d3d34ceadd5f2402b4ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 995f1c300eb3b31395335319777db517edf99ae3a538331f01e0f4ed48619e09
[INFO] running `Command { std: "docker" "start" "-a" "995f1c300eb3b31395335319777db517edf99ae3a538331f01e0f4ed48619e09", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling syn v1.0.31
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling serde v1.0.112
[INFO] [stderr]    Compiling libloading v0.6.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking smallvec v1.4.0
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]     Checking lazycell v1.2.1
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling wide v0.4.6
[INFO] [stderr]     Checking bytemuck v1.2.0
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]     Checking adler32 v1.1.0
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]     Checking crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling cc v1.0.54
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.8
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]     Checking ultraviolet v0.4.6
[INFO] [stderr]     Checking deflate v0.8.4
[INFO] [stderr]     Checking aho-corasick v0.7.10
[INFO] [stderr]     Checking crossbeam-channel v0.4.2
[INFO] [stderr]     Checking instant v0.1.4
[INFO] [stderr]     Checking jpeg-decoder v0.1.19
[INFO] [stderr]    Compiling hashbrown v0.7.2
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.34
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[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 mio v0.6.22
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]    Compiling glow v0.4.0
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rayon-core v1.7.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking rand_xorshift v0.2.0
[INFO] [stderr]     Checking png v0.16.5
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking crossbeam v0.7.3
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking flate2 v1.0.14
[INFO] [stderr]     Checking ahash v0.3.8
[INFO] [stderr]     Checking atom v0.3.5
[INFO] [stderr]     Checking arrayvec v0.5.1
[INFO] [stderr]    Compiling serde_json v1.0.55
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking image v0.23.5
[INFO] [stderr]     Checking rayon v1.3.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking shrev v1.1.1
[INFO] [stderr]     Checking tuple_utils v0.3.0
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking hibitset v0.6.3
[INFO] [stderr]     Checking tynm v0.1.4
[INFO] [stderr]     Checking shred v0.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.112
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]     Checking bracket-geometry v0.8.1
[INFO] [stderr]     Checking bracket-color v0.8.1
[INFO] [stderr]     Checking bracket-random v0.8.0
[INFO] [stderr]     Checking object-pool v0.4.4
[INFO] [stderr]     Checking specs v0.16.1
[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.2
[INFO] [stderr]     Checking glutin v0.24.1
[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 roguelike v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         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:40:46
[INFO] [stdout]    |
[INFO] [stdout] 40 |         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:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         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: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |         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:40:46
[INFO] [stdout]    |
[INFO] [stdout] 40 |         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:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         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, 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:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[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:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, Debug, 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] 23 | 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:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, Debug, 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] 23 | 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:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[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:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[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:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Component, Debug, 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] 33 | 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:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Component, Debug, 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] 33 | 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:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Component, Debug, 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:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Component, Debug, 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:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Component, Debug, 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] 41 | 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:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Component, Debug, 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] 41 | 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:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Component, Debug, 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:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Component, Debug, 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:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Component, Debug, 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:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Component, Debug, 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:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Component, Debug, 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:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Component, Debug, 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:74:28
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Debug, 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:39
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Debug, 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:28
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, Debug, 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] 78 | 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:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, Debug, 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] 78 | 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:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Component, Debug, 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:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Component, Debug, 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:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Component, Debug, 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:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Component, Debug, 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:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Component, Debug, 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:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Component, Debug, 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:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[derive(Component, Debug, 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:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[derive(Component, Debug, 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:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | #[derive(Component, Debug, 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:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | #[derive(Component, Debug, 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:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Component, Debug, 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:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Component, Debug, 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:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Component, Debug, 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:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Component, Debug, 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:116:28
[INFO] [stdout]     |
[INFO] [stdout] 116 | #[derive(Component, Debug, 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:116:28
[INFO] [stdout]     |
[INFO] [stdout] 116 | #[derive(Component, Debug, 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:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, Debug, 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:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, Debug, 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:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, Debug, ConvertSaveload, Clone)]
[INFO] [stdout]     |                            ^--------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `WantsToRemoveItemSaveloadData` is not local
[INFO] [stdout]     |                            `Serialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToRemoveItemSaveloadData`
[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:28
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, Debug, ConvertSaveload, Clone)]
[INFO] [stdout]     |                            ^--------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `WantsToRemoveItemSaveloadData` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToRemoveItemSaveloadData`
[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:34
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[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_EquipmentSlot`
[INFO] [stdout] 133 | pub enum EquipmentSlot {
[INFO] [stdout]     |          ------------- `EquipmentSlot` 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:45
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[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_EquipmentSlot`
[INFO] [stdout] 133 | pub enum EquipmentSlot {
[INFO] [stdout]     |          ------------- `EquipmentSlot` 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:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[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_Equippable`
[INFO] [stdout] 139 | pub struct Equippable {
[INFO] [stdout]     |            ---------- `Equippable` 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:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[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_Equippable`
[INFO] [stdout] 139 | pub struct Equippable {
[INFO] [stdout]     |            ---------- `Equippable` 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:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `EquippedSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_EquippedSaveloadData`
[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:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `EquippedSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_EquippedSaveloadData`
[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:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `MeleePowerBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MeleePowerBonusSaveloadData`
[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:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `MeleePowerBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MeleePowerBonusSaveloadData`
[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:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `DefenseBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DefenseBonusSaveloadData`
[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:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `DefenseBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DefenseBonusSaveloadData`
[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:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 | #[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] 166 | 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:165:32
[INFO] [stdout]     |
[INFO] [stdout] 165 | #[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] 166 | 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:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[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] 12 | 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:11:45
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[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] 12 | 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:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[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] 19 | 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:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[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] 19 | 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: 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, 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:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[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:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, Debug, 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] 23 | 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:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 | #[derive(Component, Debug, 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] 23 | 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:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[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:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 | #[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:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Component, Debug, 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] 33 | 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:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[derive(Component, Debug, 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] 33 | 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:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Component, Debug, 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:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Component, Debug, 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:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Component, Debug, 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] 41 | 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:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Component, Debug, 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] 41 | 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:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Component, Debug, 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:43:28
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Component, Debug, 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:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Component, Debug, 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:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 | #[derive(Component, Debug, 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:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Component, Debug, 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:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(Component, Debug, 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:74:28
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Debug, 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:39
[INFO] [stdout]    |
[INFO] [stdout] 74 | #[derive(Component, Debug, 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:28
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, Debug, 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] 78 | 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:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 | #[derive(Component, Debug, 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] 78 | 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:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Component, Debug, 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:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(Component, Debug, 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:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Component, Debug, 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:85:28
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Component, Debug, 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:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Component, Debug, 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:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Component, Debug, 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:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[derive(Component, Debug, 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:95:28
[INFO] [stdout]    |
[INFO] [stdout] 95 | #[derive(Component, Debug, 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:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | #[derive(Component, Debug, 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:100:28
[INFO] [stdout]     |
[INFO] [stdout] 100 | #[derive(Component, Debug, 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:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Component, Debug, 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:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Component, Debug, 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:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Component, Debug, 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:110:28
[INFO] [stdout]     |
[INFO] [stdout] 110 | #[derive(Component, Debug, 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:116:28
[INFO] [stdout]     |
[INFO] [stdout] 116 | #[derive(Component, Debug, 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:116:28
[INFO] [stdout]     |
[INFO] [stdout] 116 | #[derive(Component, Debug, 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:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, Debug, 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:122:28
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[derive(Component, Debug, 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:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, Debug, ConvertSaveload, Clone)]
[INFO] [stdout]     |                            ^--------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `WantsToRemoveItemSaveloadData` is not local
[INFO] [stdout]     |                            `Serialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_WantsToRemoveItemSaveloadData`
[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:28
[INFO] [stdout]     |
[INFO] [stdout] 127 | #[derive(Component, Debug, ConvertSaveload, Clone)]
[INFO] [stdout]     |                            ^--------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            `WantsToRemoveItemSaveloadData` is not local
[INFO] [stdout]     |                            `Deserialize` is not local
[INFO] [stdout]     |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_WantsToRemoveItemSaveloadData`
[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:34
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[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_EquipmentSlot`
[INFO] [stdout] 133 | pub enum EquipmentSlot {
[INFO] [stdout]     |          ------------- `EquipmentSlot` 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:45
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[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_EquipmentSlot`
[INFO] [stdout] 133 | pub enum EquipmentSlot {
[INFO] [stdout]     |          ------------- `EquipmentSlot` 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:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[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_Equippable`
[INFO] [stdout] 139 | pub struct Equippable {
[INFO] [stdout]     |            ---------- `Equippable` 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:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 | #[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_Equippable`
[INFO] [stdout] 139 | pub struct Equippable {
[INFO] [stdout]     |            ---------- `Equippable` 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:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `EquippedSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_EquippedSaveloadData`
[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:143:21
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `EquippedSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_EquippedSaveloadData`
[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:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `MeleePowerBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MeleePowerBonusSaveloadData`
[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:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `MeleePowerBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MeleePowerBonusSaveloadData`
[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:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `DefenseBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Serialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DefenseBonusSaveloadData`
[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:154:21
[INFO] [stdout]     |
[INFO] [stdout] 154 | #[derive(Component, ConvertSaveload, Clone)]
[INFO] [stdout]     |                     ^--------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `DefenseBonusSaveloadData` is not local
[INFO] [stdout]     |                     `Deserialize` is not local
[INFO] [stdout]     |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DefenseBonusSaveloadData`
[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:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 | #[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] 166 | 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:165:32
[INFO] [stdout]     |
[INFO] [stdout] 165 | #[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] 166 | 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:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[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] 12 | 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:11:45
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[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] 12 | 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:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[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] 19 | 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:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[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] 19 | 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 48.95s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 7`
[INFO] running `Command { std: "docker" "inspect" "995f1c300eb3b31395335319777db517edf99ae3a538331f01e0f4ed48619e09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "995f1c300eb3b31395335319777db517edf99ae3a538331f01e0f4ed48619e09", kill_on_drop: false }`
[INFO] [stdout] 995f1c300eb3b31395335319777db517edf99ae3a538331f01e0f4ed48619e09
