[INFO] cloning repository https://github.com/Dynisious/the_brass [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Dynisious/the_brass" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynisious%2Fthe_brass", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynisious%2Fthe_brass'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ff007fe968cb18722aac7a391fc22b1098ab699b [INFO] checking Dynisious/the_brass/ff007fe968cb18722aac7a391fc22b1098ab699b against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynisious%2Fthe_brass" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Dynisious/the_brass on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Dynisious/the_brass [INFO] finished tweaking git repo https://github.com/Dynisious/the_brass [INFO] tweaked toml for git repo https://github.com/Dynisious/the_brass written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Dynisious/the_brass 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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] efe6a988fd541467d59acdccd7506739108e3948eb9fd42784226d1cc132c0e3 [INFO] running `Command { std: "docker" "start" "-a" "efe6a988fd541467d59acdccd7506739108e3948eb9fd42784226d1cc132c0e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "efe6a988fd541467d59acdccd7506739108e3948eb9fd42784226d1cc132c0e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "efe6a988fd541467d59acdccd7506739108e3948eb9fd42784226d1cc132c0e3", kill_on_drop: false }` [INFO] [stdout] efe6a988fd541467d59acdccd7506739108e3948eb9fd42784226d1cc132c0e3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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 -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7277c8b32f77bda13e483c9acd0d2b920949afdb2bf5658b8236c2a8d3eebcf8 [INFO] running `Command { std: "docker" "start" "-a" "7277c8b32f77bda13e483c9acd0d2b920949afdb2bf5658b8236c2a8d3eebcf8", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking serde v1.0.19 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling serde_derive_internals v0.17.0 [INFO] [stderr] Compiling serde_derive v1.0.19 [INFO] [stderr] Checking toml v0.4.5 [INFO] [stderr] Checking the_brass v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self::ship_error::*` [INFO] [stdout] --> src/game/combat/ships/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use self::ship_error::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::attacks::*` [INFO] [stdout] --> src/game/combat/ships/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use self::attacks::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::ship_template::*` [INFO] [stdout] --> src/game/combat/ships/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use self::ship_template::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::Relation::*` [INFO] [stdout] --> src/game/factions.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use self::Relation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::ship_error::*` [INFO] [stdout] --> src/game/combat/ships/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use self::ship_error::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::attacks::*` [INFO] [stdout] --> src/game/combat/ships/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use self::attacks::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::ship_template::*` [INFO] [stdout] --> src/game/combat/ships/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use self::ship_template::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::Relation::*` [INFO] [stdout] --> src/game/factions.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use self::Relation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:391:36 [INFO] [stdout] | [INFO] [stdout] 391 | static INIT_GAME_TEMPLATES: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 391 | static INIT_GAME_TEMPLATES: Once = Once::new(); [INFO] [stdout] | ~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/game/factions.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Once, ONCE_INIT}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/game/factions.rs:90:35 [INFO] [stdout] | [INFO] [stdout] 90 | static INIT_GAME_FACTIONS: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 90 | static INIT_GAME_FACTIONS: Once = Once::new(); [INFO] [stdout] | ~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:391:36 [INFO] [stdout] | [INFO] [stdout] 391 | static INIT_GAME_TEMPLATES: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 391 | static INIT_GAME_TEMPLATES: Once = Once::new(); [INFO] [stdout] | ~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/game/factions.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Once, ONCE_INIT}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/game/factions.rs:90:35 [INFO] [stdout] | [INFO] [stdout] 90 | static INIT_GAME_FACTIONS: Once = ONCE_INIT; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace the use of the deprecated constant [INFO] [stdout] | [INFO] [stdout] 90 | static INIT_GAME_FACTIONS: Once = Once::new(); [INFO] [stdout] | ~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FuelError`, `ShieldError`, and `HullError` are never constructed [INFO] [stdout] --> src/game/combat/ships/ship_error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum ShipError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 11 | FuelError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | ShieldError, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | HullError [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ShipError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `valid_target`, and `same_target` are never used [INFO] [stdout] --> src/game/combat/ships/attacks.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl TargetedAttack { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn new(attack: Attack, smallest_target: ShipSize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn valid_target(&self, target_size: ShipSize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn same_target(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `merge`, `sum_damage`, and `same_damage` are never used [INFO] [stdout] --> src/game/combat/ships/attacks.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl Attack { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn new(parralel_attacks: UInt, damage_per_attack: DamagePoint) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn merge(&mut self, other: Self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn sum_damage(&self) -> DamagePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn same_damage(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/combat/ships/attacks.rs:141:19 [INFO] [stdout] | [INFO] [stdout] 135 | impl ReducedAttacks { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 141 | pub unsafe fn from_parts(attacks: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn new(mut attacks: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn add_attack(&mut self, attack: TargetedAttack) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn add_attacks(&mut self, attacks: &[TargetedAttack]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn iter(&self) -> ::std::slice::Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn iter_mut(&mut self) -> ::std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn clear_used_attacks(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 43 | impl ShipTemplate { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub unsafe fn from_parts(ship_size_class: ShipSize, fuel_capacity: UInt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn new(ship_size_class: ShipSize, fuel_capacity: UInt, fuel_use: UInt, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_fuel_capacity(&mut self, val: FuelUnit) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_fuel_use(&self) -> FuelUnit { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn set_fuel_use(&mut self, val: FuelUnit) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn set_shield_capacity(&mut self, val: ShieldPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn get_shield_recovery(&self) -> ShieldPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn set_shield_recovery(&mut self, val: ShieldPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn can_target(&self, target: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expected_load` is never read [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct TemplateBuf { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 240 | pub expected_load: usize [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `loaded`, `unload_overflow`, and `unload` are never used [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:267:12 [INFO] [stdout] | [INFO] [stdout] 245 | impl TemplateBuf { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn loaded(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn unload_overflow(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub fn unload(&mut self, name: &String) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/combat/ships/ship.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Ship { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn new(template: Rc, fuel_units: FuelUnit, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn set_template(&mut self, val: Rc) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn get_fuel_units(&self) -> FuelUnit { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_fuel_units(&mut self, val: FuelUnit) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_hull_points(&self) -> HullPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn set_hull_points(&mut self, val: HullPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_shield_points(&self) -> ShieldPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn set_shield_points(&mut self, val: ShieldPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn is_alive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn regenerate_shields(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn simulate_damage(&mut self, mut damage: DamagePoint) -> (HullPoint, ShieldPoint, DamagePoint) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn resolve_damage(&mut self, damage: DamagePoint) -> DamagePoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn resolve_attacks(&mut self, attacks: &mut ReducedAttacks) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_alive`, `regenerate_shields`, `resolve_damage`, `resolve_attacks`, and `get_attacks` are never used [INFO] [stdout] --> src/game/combat/ships/reduced_ship.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl ReducedShip { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn is_alive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn regenerate_shields(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn resolve_damage(&mut self, mut damage: DamagePoint) -> DamagePoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn resolve_attacks(&mut self, attacks: &mut ReducedAttacks) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn get_attacks(&self) -> ReducedAttacks { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Unaware`, `Neutral`, `Friendly`, and `Enemy` are never constructed [INFO] [stdout] --> src/game/factions.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub enum Relation { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 19 | /// The `Faction`s are unaware that the other exists. [INFO] [stdout] 20 | Unaware, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | /// The `Faction`s are neutral towards each other. [INFO] [stdout] 22 | Neutral, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 23 | /// The `Faction`s are friendly with each other. [INFO] [stdout] 24 | Friendly, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 25 | /// The `Faction`s are an enemy of the other. [INFO] [stdout] 26 | Enemy [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Relation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `from_parts` and `new` are never used [INFO] [stdout] --> src/game/factions.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 34 | impl FactionPair { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub unsafe fn from_parts(first: Faction, second: Faction) -> FactionPair { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn new(first: Faction, second: Faction) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_game_factions` is never used [INFO] [stdout] --> src/game/factions.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_game_factions() -> &'static mut (Vec, HashMap) { [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/game/combat/ships/attacks.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Debug, PartialEq, Eq, Clone, Copy, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `TargetedAttack` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TargetedAttack` [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/game/combat/ships/attacks.rs:79:45 [INFO] [stdout] | [INFO] [stdout] 79 | #[derive(Debug, PartialEq, Eq, Clone, Copy, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Attack` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Attack` [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: variants `FuelError`, `ShieldError`, and `HullError` are never constructed [INFO] [stdout] --> src/game/combat/ships/ship_error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum ShipError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 11 | FuelError, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | ShieldError, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 13 | HullError [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ShipError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [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/game/combat/ships/attacks.rs:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | #[derive(Debug, PartialEq, Eq, Clone, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ReducedAttacks` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReducedAttacks` [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: associated items `new`, `valid_target`, and `same_target` are never used [INFO] [stdout] --> src/game/combat/ships/attacks.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl TargetedAttack { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn new(attack: Attack, smallest_target: ShipSize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn valid_target(&self, target_size: ShipSize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn same_target(&self, other: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `merge`, `sum_damage`, and `same_damage` are never used [INFO] [stdout] --> src/game/combat/ships/attacks.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl Attack { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn new(parralel_attacks: UInt, damage_per_attack: DamagePoint) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn merge(&mut self, other: Self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn sum_damage(&self) -> DamagePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn same_damage(&self, other: &Self) -> bool { [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/game/combat/ships/ship_template.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(Debug, PartialEq, Eq, Clone, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ShipTemplate` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ShipTemplate` [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: multiple associated items are never used [INFO] [stdout] --> src/game/combat/ships/attacks.rs:141:19 [INFO] [stdout] | [INFO] [stdout] 135 | impl ReducedAttacks { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 141 | pub unsafe fn from_parts(attacks: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn new(mut attacks: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn add_attack(&mut self, attack: TargetedAttack) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn add_attacks(&mut self, attacks: &[TargetedAttack]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn iter(&self) -> ::std::slice::Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn iter_mut(&mut self) -> ::std::slice::IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn clear_used_attacks(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 43 | impl ShipTemplate { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub unsafe fn from_parts(ship_size_class: ShipSize, fuel_capacity: UInt, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn new(ship_size_class: ShipSize, fuel_capacity: UInt, fuel_use: UInt, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_fuel_capacity(&mut self, val: FuelUnit) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_fuel_use(&self) -> FuelUnit { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn set_fuel_use(&mut self, val: FuelUnit) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn set_shield_capacity(&mut self, val: ShieldPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn get_shield_recovery(&self) -> ShieldPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn set_shield_recovery(&mut self, val: ShieldPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn can_target(&self, target: &Self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expected_load` is never read [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct TemplateBuf { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 240 | pub expected_load: usize [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `loaded`, `unload_overflow`, and `unload` are never used [INFO] [stdout] --> src/game/combat/ships/ship_template.rs:267:12 [INFO] [stdout] | [INFO] [stdout] 245 | impl TemplateBuf { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn loaded(&self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | pub fn unload_overflow(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 301 | pub fn unload(&mut self, name: &String) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/combat/ships/ship.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Ship { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn new(template: Rc, fuel_units: FuelUnit, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn set_template(&mut self, val: Rc) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn get_fuel_units(&self) -> FuelUnit { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_fuel_units(&mut self, val: FuelUnit) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_hull_points(&self) -> HullPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn set_hull_points(&mut self, val: HullPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_shield_points(&self) -> ShieldPoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn set_shield_points(&mut self, val: ShieldPoint) -> Result<(), ShipError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn is_alive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn regenerate_shields(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn simulate_damage(&mut self, mut damage: DamagePoint) -> (HullPoint, ShieldPoint, DamagePoint) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn resolve_damage(&mut self, damage: DamagePoint) -> DamagePoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn resolve_attacks(&mut self, attacks: &mut ReducedAttacks) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_alive`, `regenerate_shields`, `resolve_damage`, `resolve_attacks`, and `get_attacks` are never used [INFO] [stdout] --> src/game/combat/ships/reduced_ship.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl ReducedShip { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn is_alive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn regenerate_shields(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn resolve_damage(&mut self, mut damage: DamagePoint) -> DamagePoint { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn resolve_attacks(&mut self, attacks: &mut ReducedAttacks) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn get_attacks(&self) -> ReducedAttacks { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Unaware`, `Neutral`, `Friendly`, and `Enemy` are never constructed [INFO] [stdout] --> src/game/factions.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub enum Relation { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 19 | /// The `Faction`s are unaware that the other exists. [INFO] [stdout] 20 | Unaware, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | /// The `Faction`s are neutral towards each other. [INFO] [stdout] 22 | Neutral, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 23 | /// The `Faction`s are friendly with each other. [INFO] [stdout] 24 | Friendly, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 25 | /// The `Faction`s are an enemy of the other. [INFO] [stdout] 26 | Enemy [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Relation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_game_factions` is never used [INFO] [stdout] --> src/game/factions.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_game_factions() -> &'static mut (Vec, HashMap) { [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/game/combat/ships/attacks.rs:16:45 [INFO] [stdout] | [INFO] [stdout] 16 | #[derive(Debug, PartialEq, Eq, Clone, Copy, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `TargetedAttack` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_TargetedAttack` [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/game/combat/ships/attacks.rs:79:45 [INFO] [stdout] | [INFO] [stdout] 79 | #[derive(Debug, PartialEq, Eq, Clone, Copy, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Attack` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Attack` [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/game/combat/ships/attacks.rs:129:39 [INFO] [stdout] | [INFO] [stdout] 129 | #[derive(Debug, PartialEq, Eq, Clone, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ReducedAttacks` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ReducedAttacks` [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/game/combat/ships/ship_template.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(Debug, PartialEq, Eq, Clone, Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `ShipTemplate` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ShipTemplate` [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: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.82s [INFO] running `Command { std: "docker" "inspect" "7277c8b32f77bda13e483c9acd0d2b920949afdb2bf5658b8236c2a8d3eebcf8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7277c8b32f77bda13e483c9acd0d2b920949afdb2bf5658b8236c2a8d3eebcf8", kill_on_drop: false }` [INFO] [stdout] 7277c8b32f77bda13e483c9acd0d2b920949afdb2bf5658b8236c2a8d3eebcf8