[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 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynisious%2Fthe_brass" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Dynisious/the_brass on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "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-1-tc1/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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded serde_derive_internals v0.17.0
[INFO] [stderr]   Downloaded serde_derive v1.0.19
[INFO] [stderr]   Downloaded toml v0.4.5
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded serde v1.0.19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 571617e08e88e95213c58598786bf8a5e9cb15f47af4f701d87de79fc2878d49
[INFO] running `Command { std: "docker" "start" "-a" "571617e08e88e95213c58598786bf8a5e9cb15f47af4f701d87de79fc2878d49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "571617e08e88e95213c58598786bf8a5e9cb15f47af4f701d87de79fc2878d49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "571617e08e88e95213c58598786bf8a5e9cb15f47af4f701d87de79fc2878d49", kill_on_drop: false }`
[INFO] [stdout] 571617e08e88e95213c58598786bf8a5e9cb15f47af4f701d87de79fc2878d49
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f2f048421a10ef2a0210f653d376f31e0023447abd3720ce71f167c9f99addf9
[INFO] running `Command { std: "docker" "start" "-a" "f2f048421a10ef2a0210f653d376f31e0023447abd3720ce71f167c9f99addf9", kill_on_drop: false }`
[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 `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 `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 `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 `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 `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 `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<Self> {
[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<TargetedAttack>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn new(mut attacks: Vec<TargetedAttack>) -> 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<TargetedAttack> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn iter_mut(&mut self) -> ::std::slice::IterMut<TargetedAttack> {
[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: 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<ShipTemplate>, fuel_units: FuelUnit,
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn set_template(&mut self, val: Rc<ShipTemplate>) -> 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<FactionPair> {
[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<String>, HashMap<FactionPair, Relation>) {
[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<Self> {
[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<TargetedAttack>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn new(mut attacks: Vec<TargetedAttack>) -> 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<TargetedAttack> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn iter_mut(&mut self) -> ::std::slice::IterMut<TargetedAttack> {
[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: 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<ShipTemplate>, fuel_units: FuelUnit,
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn set_template(&mut self, val: Rc<ShipTemplate>) -> 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<String>, HashMap<FactionPair, Relation>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.03s
[INFO] running `Command { std: "docker" "inspect" "f2f048421a10ef2a0210f653d376f31e0023447abd3720ce71f167c9f99addf9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2f048421a10ef2a0210f653d376f31e0023447abd3720ce71f167c9f99addf9", kill_on_drop: false }`
[INFO] [stdout] f2f048421a10ef2a0210f653d376f31e0023447abd3720ce71f167c9f99addf9
[INFO] checking Dynisious/the_brass against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDynisious%2Fthe_brass" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Dynisious/the_brass on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "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-1-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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ebf19ca43148d18ec2808dc6c1404dc112ee64b9aff6a8c65d528115ab9a558e
[INFO] running `Command { std: "docker" "start" "-a" "ebf19ca43148d18ec2808dc6c1404dc112ee64b9aff6a8c65d528115ab9a558e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebf19ca43148d18ec2808dc6c1404dc112ee64b9aff6a8c65d528115ab9a558e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebf19ca43148d18ec2808dc6c1404dc112ee64b9aff6a8c65d528115ab9a558e", kill_on_drop: false }`
[INFO] [stdout] ebf19ca43148d18ec2808dc6c1404dc112ee64b9aff6a8c65d528115ab9a558e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d7426343dc59a37d885c4326a81d079dec2d00459c7f16f10a148b36b85b5506
[INFO] running `Command { std: "docker" "start" "-a" "d7426343dc59a37d885c4326a81d079dec2d00459c7f16f10a148b36b85b5506", kill_on_drop: false }`
[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 `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 `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 `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 `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 `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 `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<Self> {
[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<TargetedAttack>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn new(mut attacks: Vec<TargetedAttack>) -> 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<TargetedAttack> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn iter_mut(&mut self) -> ::std::slice::IterMut<TargetedAttack> {
[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: 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<ShipTemplate>, fuel_units: FuelUnit,
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn set_template(&mut self, val: Rc<ShipTemplate>) -> 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<String>, HashMap<FactionPair, Relation>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_TargetedAttack`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Attack`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ReducedAttacks`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ShipTemplate`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 17 warnings emitted
[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<Self> {
[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<TargetedAttack>) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn new(mut attacks: Vec<TargetedAttack>) -> 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<TargetedAttack> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn iter_mut(&mut self) -> ::std::slice::IterMut<TargetedAttack> {
[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: 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<ShipTemplate>, fuel_units: FuelUnit,
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn set_template(&mut self, val: Rc<ShipTemplate>) -> 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<FactionPair> {
[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<String>, HashMap<FactionPair, Relation>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_TargetedAttack`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Attack`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ReducedAttacks`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_ShipTemplate`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `the_brass` (bin "the_brass" test) due to 5 previous errors; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 4 previous errors; 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `the_brass` (bin "the_brass") due to 5 previous errors; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d7426343dc59a37d885c4326a81d079dec2d00459c7f16f10a148b36b85b5506", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7426343dc59a37d885c4326a81d079dec2d00459c7f16f10a148b36b85b5506", kill_on_drop: false }`
[INFO] [stdout] d7426343dc59a37d885c4326a81d079dec2d00459c7f16f10a148b36b85b5506
