[INFO] cloning repository https://github.com/pierreyoda/project-strategy-game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pierreyoda/project-strategy-game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpierreyoda%2Fproject-strategy-game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpierreyoda%2Fproject-strategy-game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6c1c51d0d3209fec18b3d358fb3d526f885cb264
[INFO] checking pierreyoda/project-strategy-game against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpierreyoda%2Fproject-strategy-game" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pierreyoda/project-strategy-game
[INFO] finished tweaking git repo https://github.com/pierreyoda/project-strategy-game
[INFO] tweaked toml for git repo https://github.com/pierreyoda/project-strategy-game written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pierreyoda/project-strategy-game on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pierreyoda/project-strategy-game 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-4-tc2/source/wasm_bridge/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /workspace/builds/worker-4-tc2/source/wasm_bridge/Cargo.toml: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 22e7756207beec4251f61445f953fe5279a6d3e17c09e8d6ae6749f61d5779e4
[INFO] running `Command { std: "docker" "start" "-a" "22e7756207beec4251f61445f953fe5279a6d3e17c09e8d6ae6749f61d5779e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22e7756207beec4251f61445f953fe5279a6d3e17c09e8d6ae6749f61d5779e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22e7756207beec4251f61445f953fe5279a6d3e17c09e8d6ae6749f61d5779e4", kill_on_drop: false }`
[INFO] [stdout] 22e7756207beec4251f61445f953fe5279a6d3e17c09e8d6ae6749f61d5779e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9fc42a2d4b23102d2c60c2bc960db2a8174b1444c2ce898546e41b682e70c9d8
[INFO] running `Command { std: "docker" "start" "-a" "9fc42a2d4b23102d2c60c2bc960db2a8174b1444c2ce898546e41b682e70c9d8", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/wasm_bridge/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: /opt/rustwide/workdir/wasm_bridge/Cargo.toml: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.108
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking project_x_core v0.0.1 (/opt/rustwide/workdir/core)
[INFO] [stderr]     Checking project_x_procgen v0.0.1 (/opt/rustwide/workdir/procgen)
[INFO] [stderr]    Compiling wasm-bindgen v0.2.108
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]  --> procgen/src/map.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct MapGeneratorSettings {
[INFO] [stdout]   |            -------------------- fields in this struct
[INFO] [stdout] 3 |     width: usize,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 4 |     height: usize,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MapGeneratorSettings` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `settings` is never read
[INFO] [stdout]  --> procgen/src/map.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MapGenerator {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     settings: MapGeneratorSettings,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> core/src/hex_map/coordinates.rs:130:33
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn distance_from(&self, other: &Self) -> HexMapCoordinatesCommonComputeScalar {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> core/src/hex_map.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> core/src/simulation/ids.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tiles` is never read
[INFO] [stdout]   --> core/src/hex_map.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct HexMap {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 28 |     tiles: HexMapStorage,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `supply_node`, `infrastructure`, `settlement`, and `buildings` are never read
[INFO] [stdout]   --> core/src/hex_map/layers/dynamic.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct HexMapArtificialTileData {
[INFO] [stdout]    |            ------------------------ fields in this struct
[INFO] [stdout]  7 |     supply_node: Option<Box<dyn HexMapTileSupplyNode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]  8 |     infrastructure: Option<Vec<Box<dyn HexMapTileInfrastructure>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     settlement: Option<Box<dyn HexMapTileSettlement>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     buildings: Option<Vec<Box<dyn HexMapTileBuilding>>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HexMapArtificialTileData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deposits` is never read
[INFO] [stdout]  --> core/src/hex_map/layers/natural.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HexMapNaturalTileData {
[INFO] [stdout]   |            --------------------- field in this struct
[INFO] [stdout] 9 |     deposits: Option<Vec<Box<dyn HexMapTileDeposit>>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `HexMapNaturalTileData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `elevation`, `layer_natural`, and `layer_artificial` are never read
[INFO] [stdout]  --> core/src/hex_map/tile.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct HexMapTile {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 5 |     // In meters.
[INFO] [stdout] 6 |     elevation: i16,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 7 |     layer_natural: HexMapNaturalTileData,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 8 |     layer_artificial: HexMapArtificialTileData,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `HexMapTile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_small_rectangular_hashmap` is never used
[INFO] [stdout]   --> core/src/hex_map.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn generate_small_rectangular_hashmap(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `BuildingTemplate` is never constructed
[INFO] [stdout]   --> core/src/simulation/buildings.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BuildingTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Building` is never constructed
[INFO] [stdout]   --> core/src/simulation/buildings.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Building<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `type`, `cost`, `maintenance_costs`, and `production` are never read
[INFO] [stdout]   --> core/src/simulation/buildings.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BuildingTemplate {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 17 |     /// Must be `SimulationID::SimulationAbstractID`.
[INFO] [stdout] 18 |     id: SimulationID,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     r#type: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     cost: ConstructionCosts,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     maintenance_costs: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     production: BuildingProduction,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BuildingTemplate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `template` and `health_points` are never read
[INFO] [stdout]   --> core/src/simulation/buildings.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Building<'a> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     template: &'a BuildingTemplate,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     health_points: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Building` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Infrastructure` is never constructed
[INFO] [stdout]   --> core/src/simulation/infrastructure.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Infrastructure {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type` and `maintenance_costs` are never read
[INFO] [stdout]   --> core/src/simulation/infrastructure.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Infrastructure {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     r#type: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     maintenance_costs: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Infrastructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `SupplyNode` is never constructed
[INFO] [stdout]  --> core/src/simulation/logistics.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct SupplyNode {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `resources` are never read
[INFO] [stdout]   --> core/src/simulation/logistics.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SupplyNode {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     level: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 13 |     resources: ResourceDataStorage,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SupplyNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `UnitTemplate` is never constructed
[INFO] [stdout]   --> core/src/simulation/military.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UnitTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Unit` is never constructed
[INFO] [stdout]   --> core/src/simulation/military.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Unit<'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `HqUnit` is never constructed
[INFO] [stdout]   --> core/src/simulation/military.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct HqUnit<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `type`, `cost`, `upkeep`, and `attributes` are never read
[INFO] [stdout]   --> core/src/simulation/military.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UnitTemplate {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 13 |     /// Must be `SimulationID::SimulationAbstractID`.
[INFO] [stdout] 14 |     id: SimulationID,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 15 |     r#type: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     cost: ConstructionCosts,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     upkeep: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     attributes: SimulationPropertyStorage,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitTemplate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `template`, and `health_points` are never read
[INFO] [stdout]   --> core/src/simulation/military.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Unit<'a> {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     position: HexMapCoordinates,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     template: &'a UnitTemplate,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 28 |     health_points: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Unit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `leader`, `superior`, `subordinates`, `attributes`, and `attached_units` are never read
[INFO] [stdout]   --> core/src/simulation/military.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct HqUnit<'a> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     position: HexMapCoordinates,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     leader: Option<Leader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     superior: Option<Box<HqUnit<'a>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     subordinates: Option<Vec<Box<HqUnit<'a>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 46 |     attributes: SimulationPropertyStorage,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 47 |     attached_units: Vec<Unit<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HqUnit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Nation` is never constructed
[INFO] [stdout]  --> core/src/simulation/nations.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Nation<'a> {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `leader`, `headquarters`, `capital`, and `settlements` are never read
[INFO] [stdout]   --> core/src/simulation/nations.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Nation<'a> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     leader: Leader,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     headquarters: Vec<HqUnit<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 15 |     capital: &'a Settlement,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     settlements: Vec<&'a Settlement>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Nation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `IndividualIDCard` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct IndividualIDCard {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Ancestor` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Ancestor {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Lineage` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lineage {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Leader` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Leader {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct IndividualIDCard {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     name: IndividualName,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IndividualIDCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `traits` is never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Ancestor {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     traits: Vec<Trait>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ancestor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ancestors` is never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lineage {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     ancestors: Vec<(Ancestor, Ancestor)>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lineage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lineage`, `traits`, and `upkeep` are never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Leader {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 82 |     id_card: IndividualIDCard,
[INFO] [stdout] 83 |     lineage: Option<Lineage>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 84 |     /// See `Leader.traits`
[INFO] [stdout] 85 |     traits: Vec<Trait>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 86 |     upkeep: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Leader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `PopulationGroup` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/population.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PopulationGroup {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `upkeep` are never read
[INFO] [stdout]   --> core/src/simulation/people/population.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PopulationGroup {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     size: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     upkeep: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PopulationGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ResourceDeposit` is never constructed
[INFO] [stdout]    --> core/src/simulation/resources.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ResourceDeposit {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resources` is never read
[INFO] [stdout]    --> core/src/simulation/resources.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ResourceDeposit {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     resources: ResourceDataStorage,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResourceDeposit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Settlement` is never constructed
[INFO] [stdout]  --> core/src/simulation/settlements.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Settlement {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `name`, `leader`, and `population` are never read
[INFO] [stdout]   --> core/src/simulation/settlements.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Settlement {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 10 |     /// Must be `SimulationID::SimulationMapEntityID`.
[INFO] [stdout] 11 |     id: SimulationID,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     leader: Option<Leader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     population: Vec<PopulationGroup>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Settlement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width` and `height` are never read
[INFO] [stdout]  --> procgen/src/map.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct MapGeneratorSettings {
[INFO] [stdout]   |            -------------------- fields in this struct
[INFO] [stdout] 3 |     width: usize,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 4 |     height: usize,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MapGeneratorSettings` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `settings` is never read
[INFO] [stdout]  --> procgen/src/map.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct MapGenerator {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 8 |     settings: MapGeneratorSettings,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `project_x_core` (lib test) due to 15 previous errors; 23 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> core/src/hex_map/coordinates.rs:130:33
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn distance_from(&self, other: &Self) -> HexMapCoordinatesCommonComputeScalar {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> core/src/hex_map.rs:38:19
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> core/src/simulation/ids.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tiles` is never read
[INFO] [stdout]   --> core/src/hex_map.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct HexMap {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 28 |     tiles: HexMapStorage,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `supply_node`, `infrastructure`, `settlement`, and `buildings` are never read
[INFO] [stdout]   --> core/src/hex_map/layers/dynamic.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct HexMapArtificialTileData {
[INFO] [stdout]    |            ------------------------ fields in this struct
[INFO] [stdout]  7 |     supply_node: Option<Box<dyn HexMapTileSupplyNode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]  8 |     infrastructure: Option<Vec<Box<dyn HexMapTileInfrastructure>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     settlement: Option<Box<dyn HexMapTileSettlement>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 10 |     buildings: Option<Vec<Box<dyn HexMapTileBuilding>>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HexMapArtificialTileData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `deposits` is never read
[INFO] [stdout]  --> core/src/hex_map/layers/natural.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HexMapNaturalTileData {
[INFO] [stdout]   |            --------------------- field in this struct
[INFO] [stdout] 9 |     deposits: Option<Vec<Box<dyn HexMapTileDeposit>>>,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `HexMapNaturalTileData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `elevation`, `layer_natural`, and `layer_artificial` are never read
[INFO] [stdout]  --> core/src/hex_map/tile.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct HexMapTile {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 5 |     // In meters.
[INFO] [stdout] 6 |     elevation: i16,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 7 |     layer_natural: HexMapNaturalTileData,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 8 |     layer_artificial: HexMapArtificialTileData,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `HexMapTile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `BuildingTemplate` is never constructed
[INFO] [stdout]   --> core/src/simulation/buildings.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BuildingTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Building` is never constructed
[INFO] [stdout]   --> core/src/simulation/buildings.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Building<'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `type`, `cost`, `maintenance_costs`, and `production` are never read
[INFO] [stdout]   --> core/src/simulation/buildings.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BuildingTemplate {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 17 |     /// Must be `SimulationID::SimulationAbstractID`.
[INFO] [stdout] 18 |     id: SimulationID,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 19 |     r#type: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     cost: ConstructionCosts,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     maintenance_costs: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     production: BuildingProduction,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BuildingTemplate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `template` and `health_points` are never read
[INFO] [stdout]   --> core/src/simulation/buildings.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Building<'a> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     template: &'a BuildingTemplate,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     health_points: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Building` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Infrastructure` is never constructed
[INFO] [stdout]   --> core/src/simulation/infrastructure.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Infrastructure {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type` and `maintenance_costs` are never read
[INFO] [stdout]   --> core/src/simulation/infrastructure.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Infrastructure {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     r#type: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     maintenance_costs: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Infrastructure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `SupplyNode` is never constructed
[INFO] [stdout]  --> core/src/simulation/logistics.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct SupplyNode {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `resources` are never read
[INFO] [stdout]   --> core/src/simulation/logistics.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct SupplyNode {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     level: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 13 |     resources: ResourceDataStorage,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SupplyNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `UnitTemplate` is never constructed
[INFO] [stdout]   --> core/src/simulation/military.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UnitTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Unit` is never constructed
[INFO] [stdout]   --> core/src/simulation/military.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Unit<'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `HqUnit` is never constructed
[INFO] [stdout]   --> core/src/simulation/military.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct HqUnit<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `type`, `cost`, `upkeep`, and `attributes` are never read
[INFO] [stdout]   --> core/src/simulation/military.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UnitTemplate {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 13 |     /// Must be `SimulationID::SimulationAbstractID`.
[INFO] [stdout] 14 |     id: SimulationID,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 15 |     r#type: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     cost: ConstructionCosts,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     upkeep: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     attributes: SimulationPropertyStorage,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitTemplate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `template`, and `health_points` are never read
[INFO] [stdout]   --> core/src/simulation/military.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Unit<'a> {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     position: HexMapCoordinates,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     template: &'a UnitTemplate,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 28 |     health_points: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Unit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position`, `leader`, `superior`, `subordinates`, `attributes`, and `attached_units` are never read
[INFO] [stdout]   --> core/src/simulation/military.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct HqUnit<'a> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     position: HexMapCoordinates,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 43 |     leader: Option<Leader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     superior: Option<Box<HqUnit<'a>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     subordinates: Option<Vec<Box<HqUnit<'a>>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 46 |     attributes: SimulationPropertyStorage,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 47 |     attached_units: Vec<Unit<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HqUnit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Nation` is never constructed
[INFO] [stdout]  --> core/src/simulation/nations.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Nation<'a> {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `leader`, `headquarters`, `capital`, and `settlements` are never read
[INFO] [stdout]   --> core/src/simulation/nations.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Nation<'a> {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     leader: Leader,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     headquarters: Vec<HqUnit<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 15 |     capital: &'a Settlement,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     settlements: Vec<&'a Settlement>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Nation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `IndividualIDCard` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct IndividualIDCard {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Ancestor` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Ancestor {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Lineage` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lineage {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Leader` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Leader {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct IndividualIDCard {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     name: IndividualName,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IndividualIDCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `traits` is never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Ancestor {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     traits: Vec<Trait>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ancestor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ancestors` is never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Lineage {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     ancestors: Vec<(Ancestor, Ancestor)>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Lineage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lineage`, `traits`, and `upkeep` are never read
[INFO] [stdout]   --> core/src/simulation/people/leaders.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Leader {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 82 |     id_card: IndividualIDCard,
[INFO] [stdout] 83 |     lineage: Option<Lineage>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 84 |     /// See `Leader.traits`
[INFO] [stdout] 85 |     traits: Vec<Trait>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 86 |     upkeep: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Leader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `PopulationGroup` is never constructed
[INFO] [stdout]   --> core/src/simulation/people/population.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PopulationGroup {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `upkeep` are never read
[INFO] [stdout]   --> core/src/simulation/people/population.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct PopulationGroup {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     size: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     upkeep: MaintenanceCosts,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PopulationGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ResourceDeposit` is never constructed
[INFO] [stdout]    --> core/src/simulation/resources.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ResourceDeposit {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resources` is never read
[INFO] [stdout]    --> core/src/simulation/resources.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ResourceDeposit {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     resources: ResourceDataStorage,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResourceDeposit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Settlement` is never constructed
[INFO] [stdout]  --> core/src/simulation/settlements.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Settlement {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `name`, `leader`, and `population` are never read
[INFO] [stdout]   --> core/src/simulation/settlements.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Settlement {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 10 |     /// Must be `SimulationID::SimulationMapEntityID`.
[INFO] [stdout] 11 |     id: SimulationID,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     leader: Option<Leader>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     population: Vec<PopulationGroup>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Settlement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `project_x_core` (lib) due to 15 previous errors; 22 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9fc42a2d4b23102d2c60c2bc960db2a8174b1444c2ce898546e41b682e70c9d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fc42a2d4b23102d2c60c2bc960db2a8174b1444c2ce898546e41b682e70c9d8", kill_on_drop: false }`
[INFO] [stdout] 9fc42a2d4b23102d2c60c2bc960db2a8174b1444c2ce898546e41b682e70c9d8
