[INFO] fetching crate pong-cli 1.0.1... [INFO] checking pong-cli-1.0.1 against master#38352b01ae4af9300be03b805d6db68c45e51068 for pr-129864 [INFO] extracting crate pong-cli 1.0.1 into /workspace/builds/worker-7-tc1/source [INFO] validating manifest of crates.io crate pong-cli 1.0.1 on toolchain 38352b01ae4af9300be03b805d6db68c45e51068 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate pong-cli 1.0.1 [INFO] finished tweaking crates.io crate pong-cli 1.0.1 [INFO] tweaked toml for crates.io crate pong-cli 1.0.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate crates.io crate pong-cli 1.0.1 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" "+38352b01ae4af9300be03b805d6db68c45e51068" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `crossterm` dependency) [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded specs-derive v0.4.0 [INFO] [stderr] Downloaded tuple_utils v0.3.0 [INFO] [stderr] Downloaded smallvec v0.6.10 [INFO] [stderr] Downloaded shred-derive v0.6.1 [INFO] [stderr] Downloaded memoffset v0.5.1 [INFO] [stderr] Downloaded const-random-macro v0.1.6 [INFO] [stderr] Downloaded c2-chacha v0.2.2 [INFO] [stderr] Downloaded const-random v0.1.6 [INFO] [stderr] Downloaded shrev v1.1.1 [INFO] [stderr] Downloaded hibitset v0.6.2 [INFO] [stderr] Downloaded autocfg v0.1.6 [INFO] [stderr] Downloaded crossterm_winapi v0.3.0 [INFO] [stderr] Downloaded cc v1.0.46 [INFO] [stderr] Downloaded hashbrown v0.6.1 [INFO] [stderr] Downloaded serde v1.0.101 [INFO] [stderr] Downloaded atom v0.3.5 [INFO] [stderr] Downloaded mio v0.6.19 [INFO] [stderr] Downloaded syn v1.0.5 [INFO] [stderr] Downloaded rayon v1.2.0 [INFO] [stderr] Downloaded rayon-core v1.6.0 [INFO] [stderr] Downloaded blake2b_simd v0.5.8 [INFO] [stderr] Downloaded ron v0.5.1 [INFO] [stderr] Downloaded serde_derive v1.0.101 [INFO] [stderr] Downloaded derivative v1.0.3 [INFO] [stderr] Downloaded crossbeam-epoch v0.7.2 [INFO] [stderr] Downloaded crossbeam-deque v0.7.1 [INFO] [stderr] Downloaded crossbeam-queue v0.1.2 [INFO] [stderr] Downloaded shred v0.9.3 [INFO] [stderr] Downloaded net2 v0.2.33 [INFO] [stderr] Downloaded synstructure v0.12.1 [INFO] [stderr] Downloaded ppv-lite86 v0.2.5 [INFO] [stderr] Downloaded getrandom v0.1.12 [INFO] [stderr] Downloaded mopa v0.2.2 [INFO] [stderr] Downloaded num_cpus v1.10.1 [INFO] [stderr] Downloaded proc-macro-hack v0.5.11 [INFO] [stderr] Downloaded ahash v0.2.16 [INFO] [stderr] Downloaded specs v0.15.1 [INFO] [stderr] Downloaded crossterm v0.12.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f640578cf458a0293c43ee64d5e68973745f81bcb00ae407e4f03358c6cebd7e [INFO] running `Command { std: "docker" "start" "-a" "f640578cf458a0293c43ee64d5e68973745f81bcb00ae407e4f03358c6cebd7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f640578cf458a0293c43ee64d5e68973745f81bcb00ae407e4f03358c6cebd7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f640578cf458a0293c43ee64d5e68973745f81bcb00ae407e4f03358c6cebd7e", kill_on_drop: false }` [INFO] [stdout] f640578cf458a0293c43ee64d5e68973745f81bcb00ae407e4f03358c6cebd7e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+38352b01ae4af9300be03b805d6db68c45e51068" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b60682555623c1d503a6170e9d5bb7b1c416d9ce445ae36f03dc522b0ed1025c [INFO] running `Command { std: "docker" "start" "-a" "b60682555623c1d503a6170e9d5bb7b1c416d9ce445ae36f03dc522b0ed1025c", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `crossterm` dependency) [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling ppv-lite86 v0.2.5 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling rayon-core v1.6.0 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Compiling autocfg v0.1.6 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking mopa v0.2.2 [INFO] [stderr] Compiling c2-chacha v0.2.2 [INFO] [stderr] Compiling hashbrown v0.6.1 [INFO] [stderr] Checking atom v0.3.5 [INFO] [stderr] Checking smallvec v0.6.10 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking tuple_utils v0.3.0 [INFO] [stderr] Checking shrev v1.1.1 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking dirs-sys v0.3.4 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking rayon v1.2.0 [INFO] [stderr] Checking hibitset v0.6.2 [INFO] [stderr] Compiling shred-derive v0.6.1 [INFO] [stderr] Compiling derivative v1.0.3 [INFO] [stderr] Compiling specs-derive v0.4.0 [INFO] [stderr] Compiling proc-macro-hack v0.5.11 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Compiling const-random-macro v0.1.6 [INFO] [stderr] Checking const-random v0.1.6 [INFO] [stderr] Checking ahash v0.2.16 [INFO] [stderr] Checking shred v0.9.3 [INFO] [stderr] Checking specs v0.15.1 [INFO] [stderr] Checking crossterm v0.12.1 [INFO] [stderr] Checking ron v0.5.1 [INFO] [stderr] Checking pong-cli v1.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `HashMapStorage` and `Storage` [INFO] [stdout] --> src/components/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | HashMapStorage, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 24 | NullStorage, [INFO] [stdout] 25 | Storage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMapStorage` and `Storage` [INFO] [stdout] --> src/components/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | HashMapStorage, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 24 | NullStorage, [INFO] [stdout] 25 | Storage, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AlternateScreen` [INFO] [stdout] --> src/resources/mod.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | pub use crossterm::{AlternateScreen, TerminalCursor, TerminalInput}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Score` [INFO] [stdout] --> src/resources/mod.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | pub use super::scores::{Score, Scores}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BallSpawnDirectionX` and `BallSpawnDirectionY` [INFO] [stdout] --> src/settings/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | BallSpawnDirectionX, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | BallSpawnDirectionY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AlternateScreen` [INFO] [stdout] --> src/resources/mod.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | pub use crossterm::{AlternateScreen, TerminalCursor, TerminalInput}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsBall` [INFO] [stdout] --> src/settings/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | pub use super::SettingsBall; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Score` [INFO] [stdout] --> src/resources/mod.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | pub use super::scores::{Score, Scores}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsCharRoom` [INFO] [stdout] --> src/settings/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | pub use super::SettingsCharRoom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BallSpawnDirectionX` and `BallSpawnDirectionY` [INFO] [stdout] --> src/settings/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | BallSpawnDirectionX, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | BallSpawnDirectionY, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsChars` [INFO] [stdout] --> src/settings/mod.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | pub use super::SettingsChars; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsBall` [INFO] [stdout] --> src/settings/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | pub use super::SettingsBall; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsInput` [INFO] [stdout] --> src/settings/mod.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | pub use super::SettingsInput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsCharRoom` [INFO] [stdout] --> src/settings/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | pub use super::SettingsCharRoom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsInputPaddle` [INFO] [stdout] --> src/settings/mod.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | pub use super::SettingsInputPaddle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsChars` [INFO] [stdout] --> src/settings/mod.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | pub use super::SettingsChars; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsPaddle` [INFO] [stdout] --> src/settings/mod.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | pub use super::SettingsPaddle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsInput` [INFO] [stdout] --> src/settings/mod.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | pub use super::SettingsInput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsInputPaddle` [INFO] [stdout] --> src/settings/mod.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | pub use super::SettingsInputPaddle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsRoom` [INFO] [stdout] --> src/settings/mod.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | pub use super::SettingsRoom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsPaddle` [INFO] [stdout] --> src/settings/mod.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | pub use super::SettingsPaddle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsRoom` [INFO] [stdout] --> src/settings/mod.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | pub use super::SettingsRoom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsScores` [INFO] [stdout] --> src/settings/mod.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | pub use super::SettingsScores; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::SettingsScores` [INFO] [stdout] --> src/settings/mod.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | pub use super::SettingsScores; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `style` [INFO] [stdout] --> src/style/mod.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | pub use crossterm::{style, Attribute, Color, StyledObject}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::style::prelude::*` [INFO] [stdout] --> src/systems/mod.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | pub use crate::style::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `style` [INFO] [stdout] --> src/style/mod.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | pub use crossterm::{style, Attribute, Color, StyledObject}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::style::prelude::*` [INFO] [stdout] --> src/systems/mod.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | pub use crate::style::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/pong.rs:67:33 [INFO] [stdout] | [INFO] [stdout] 67 | fn on_panic(panic_info: &panic::PanicInfo) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/pong.rs:67:33 [INFO] [stdout] | [INFO] [stdout] 67 | fn on_panic(panic_info: &panic::PanicInfo) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/components/velocity.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Velocity { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/settings/mod.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Settings` [INFO] [stdout] 27 | pub struct Settings { [INFO] [stdout] | -------- `Settings` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/settings/mod.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsRoom` [INFO] [stdout] 38 | pub struct SettingsRoom { [INFO] [stdout] | ------------ `SettingsRoom` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsPaddle` [INFO] [stdout] 44 | pub struct SettingsPaddle { [INFO] [stdout] | -------------- `SettingsPaddle` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsPaddleAi` [INFO] [stdout] 51 | pub struct SettingsPaddleAi { [INFO] [stdout] | ---------------- `SettingsPaddleAi` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsBall` [INFO] [stdout] 58 | pub struct SettingsBall { [INFO] [stdout] | ------------ `SettingsBall` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsScores` [INFO] [stdout] 69 | pub struct SettingsScores { [INFO] [stdout] | -------------- `SettingsScores` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsInput` [INFO] [stdout] 75 | pub struct SettingsInput { [INFO] [stdout] | ------------- `SettingsInput` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsInputPaddle` [INFO] [stdout] 82 | pub struct SettingsInputPaddle { [INFO] [stdout] | ------------------- `SettingsInputPaddle` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsChars` [INFO] [stdout] 88 | pub struct SettingsChars { [INFO] [stdout] | ------------- `SettingsChars` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsCharRoom` [INFO] [stdout] 97 | pub struct SettingsCharRoom { [INFO] [stdout] | ---------------- `SettingsCharRoom` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/ball_spawn_directions.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BallSpawnDirectionX` [INFO] [stdout] 2 | pub enum BallSpawnDirectionX { [INFO] [stdout] | ------------------- `BallSpawnDirectionX` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/ball_spawn_directions.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BallSpawnDirectionY` [INFO] [stdout] 33 | pub enum BallSpawnDirectionY { [INFO] [stdout] | ------------------- `BallSpawnDirectionY` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/char_data.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsCharData` [INFO] [stdout] 6 | pub struct SettingsCharData { [INFO] [stdout] | ---------------- `SettingsCharData` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/settings/load.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | let path_opt = SETTINGS_FILE_LOCATIONS.into_iter().find_map(|path_str| { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 25 | let path_opt = SETTINGS_FILE_LOCATIONS.iter().find_map(|path_str| { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 25 | let path_opt = IntoIterator::into_iter(SETTINGS_FILE_LOCATIONS).find_map(|path_str| { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/style/style_data.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Clone, Default, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StyleData` [INFO] [stdout] 11 | pub struct StyleData { [INFO] [stdout] | --------- `StyleData` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/components/velocity.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Velocity { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/settings/mod.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Settings` [INFO] [stdout] 27 | pub struct Settings { [INFO] [stdout] | -------- `Settings` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/settings/mod.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsRoom` [INFO] [stdout] 38 | pub struct SettingsRoom { [INFO] [stdout] | ------------ `SettingsRoom` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsPaddle` [INFO] [stdout] 44 | pub struct SettingsPaddle { [INFO] [stdout] | -------------- `SettingsPaddle` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsPaddleAi` [INFO] [stdout] 51 | pub struct SettingsPaddleAi { [INFO] [stdout] | ---------------- `SettingsPaddleAi` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsBall` [INFO] [stdout] 58 | pub struct SettingsBall { [INFO] [stdout] | ------------ `SettingsBall` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsScores` [INFO] [stdout] 69 | pub struct SettingsScores { [INFO] [stdout] | -------------- `SettingsScores` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsInput` [INFO] [stdout] 75 | pub struct SettingsInput { [INFO] [stdout] | ------------- `SettingsInput` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsInputPaddle` [INFO] [stdout] 82 | pub struct SettingsInputPaddle { [INFO] [stdout] | ------------------- `SettingsInputPaddle` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsChars` [INFO] [stdout] 88 | pub struct SettingsChars { [INFO] [stdout] | ------------- `SettingsChars` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/mod.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsCharRoom` [INFO] [stdout] 97 | pub struct SettingsCharRoom { [INFO] [stdout] | ---------------- `SettingsCharRoom` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/ball_spawn_directions.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BallSpawnDirectionX` [INFO] [stdout] 2 | pub enum BallSpawnDirectionX { [INFO] [stdout] | ------------------- `BallSpawnDirectionX` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/ball_spawn_directions.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_BallSpawnDirectionY` [INFO] [stdout] 33 | pub enum BallSpawnDirectionY { [INFO] [stdout] | ------------------- `BallSpawnDirectionY` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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/settings/char_data.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SettingsCharData` [INFO] [stdout] 6 | pub struct SettingsCharData { [INFO] [stdout] | ---------------- `SettingsCharData` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021 [INFO] [stdout] --> src/settings/load.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | let path_opt = SETTINGS_FILE_LOCATIONS.into_iter().find_map(|path_str| { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(array_into_iter)]` on by default [INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity [INFO] [stdout] | [INFO] [stdout] 25 | let path_opt = SETTINGS_FILE_LOCATIONS.iter().find_map(|path_str| { [INFO] [stdout] | ~~~~ [INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value [INFO] [stdout] | [INFO] [stdout] 25 | let path_opt = IntoIterator::into_iter(SETTINGS_FILE_LOCATIONS).find_map(|path_str| { [INFO] [stdout] | ++++++++++++++++++++++++ ~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/style/style_data.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Clone, Default, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StyleData` [INFO] [stdout] 11 | pub struct StyleData { [INFO] [stdout] | --------- `StyleData` 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 lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [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: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.21s [INFO] running `Command { std: "docker" "inspect" "b60682555623c1d503a6170e9d5bb7b1c416d9ce445ae36f03dc522b0ed1025c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b60682555623c1d503a6170e9d5bb7b1c416d9ce445ae36f03dc522b0ed1025c", kill_on_drop: false }` [INFO] [stdout] b60682555623c1d503a6170e9d5bb7b1c416d9ce445ae36f03dc522b0ed1025c