[INFO] cloning repository https://github.com/Jax-Hax/stratopia
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jax-Hax/stratopia" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJax-Hax%2Fstratopia", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJax-Hax%2Fstratopia'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5c5afaec1e0d10f0b4e0419218929ccbcc4b607a
[INFO] testing Jax-Hax/stratopia against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJax-Hax%2Fstratopia" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Jax-Hax/stratopia
[INFO] finished tweaking git repo https://github.com/Jax-Hax/stratopia
[INFO] tweaked toml for git repo https://github.com/Jax-Hax/stratopia written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Jax-Hax/stratopia on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Jax-Hax/stratopia 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" "+beta-2026-04-21" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4cba0a67f284fecd5dd9bc1338028754518b6eae7c64bafb1c21f5c73bef413d
[INFO] running `Command { std: "docker" "start" "-a" "4cba0a67f284fecd5dd9bc1338028754518b6eae7c64bafb1c21f5c73bef413d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4cba0a67f284fecd5dd9bc1338028754518b6eae7c64bafb1c21f5c73bef413d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4cba0a67f284fecd5dd9bc1338028754518b6eae7c64bafb1c21f5c73bef413d", kill_on_drop: false }`
[INFO] [stdout] 4cba0a67f284fecd5dd9bc1338028754518b6eae7c64bafb1c21f5c73bef413d
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10ade679db8c2c3678a86857148a8466161a6488ad9ebdf5a464db4e15c6d2c2
[INFO] running `Command { std: "docker" "start" "-a" "10ade679db8c2c3678a86857148a8466161a6488ad9ebdf5a464db4e15c6d2c2", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling proc-macro2 v1.0.64
[INFO] [stderr]    Compiling unicode-ident v1.0.10
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling log v0.4.19
[INFO] [stderr]    Compiling smallvec v1.11.0
[INFO] [stderr]    Compiling xml-rs v0.8.15
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling libloading v0.8.0
[INFO] [stderr]    Compiling serde v1.0.171
[INFO] [stderr]    Compiling thiserror v1.0.43
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.5
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling ttf-parser v0.19.1
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling semver v1.0.17
[INFO] [stderr]    Compiling serde_json v1.0.100
[INFO] [stderr]    Compiling camino v1.1.4
[INFO] [stderr]    Compiling rustix v0.37.23
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling flate2 v1.0.26
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling fdeflate v0.3.0
[INFO] [stderr]    Compiling tempfile v3.6.0
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling syn v2.0.25
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling ryu v1.0.14
[INFO] [stderr]    Compiling itoa v1.0.8
[INFO] [stderr]    Compiling pulldown-cmark v0.9.3
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling png v0.17.9
[INFO] [stderr]    Compiling crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling bitflags v2.3.3
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling wgpu-types v0.16.1
[INFO] [stderr]    Compiling walkdir v2.3.3
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling glow v0.12.2
[INFO] [stderr]    Compiling euclid v0.22.9
[INFO] [stderr]    Compiling spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling profiling v1.0.8
[INFO] [stderr]    Compiling weezl v0.1.7
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]    Compiling bytecount v0.6.3
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling lyon_geom v1.0.4
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling owned_ttf_parser v0.19.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling ab_glyph v0.2.21
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling lyon_path v1.0.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling gpu-descriptor v0.2.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling zstd-sys v2.0.8+zstd.1.5.5
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling winit v0.28.6
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling nix v0.26.2
[INFO] [stderr]    Compiling alsa v0.7.0
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling float_next_after v0.1.5
[INFO] [stderr]    Compiling bytemuck_derive v1.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.171
[INFO] [stderr]    Compiling thiserror-impl v1.0.43
[INFO] [stderr]    Compiling rayon v1.7.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling mint v0.5.9
[INFO] [stderr]    Compiling uuid v1.4.0
[INFO] [stderr]    Compiling gilrs v0.10.2
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling bytemuck v1.13.1
[INFO] [stderr]    Compiling xi-unicode v0.3.0
[INFO] [stderr]    Compiling jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling glyph_brush_layout v0.2.3
[INFO] [stderr]    Compiling gif v0.12.0
[INFO] [stderr]    Compiling gilrs-core v0.5.6
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling symphonia-core v0.5.3
[INFO] [stderr]    Compiling tiny-skia-path v0.8.4
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling calloop v0.10.6
[INFO] [stderr]    Compiling naga v0.12.3
[INFO] [stderr]    Compiling tiny-skia v0.8.4
[INFO] [stderr]    Compiling lyon_tessellation v1.0.10
[INFO] [stderr]    Compiling lyon_algorithms v1.0.3
[INFO] [stderr]    Compiling tiff v0.8.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling ordered-float v3.7.0
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling glyph_brush_draw_cache v0.1.5
[INFO] [stderr]    Compiling hound v3.5.0
[INFO] [stderr]    Compiling percent-encoding v2.3.0
[INFO] [stderr]    Compiling crevice-derive v0.10.0
[INFO] [stderr]    Compiling image v0.24.6
[INFO] [stderr]    Compiling glyph_brush v0.7.7
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling lyon v1.0.1
[INFO] [stderr]    Compiling symphonia-metadata v0.5.3
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling glam v0.24.1
[INFO] [stderr]    Compiling smart-default v0.7.1
[INFO] [stderr]    Compiling rand_xorshift v0.2.0
[INFO] [stderr]    Compiling crevice v0.13.0
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.3
[INFO] [stderr]    Compiling noise v0.8.2
[INFO] [stderr]    Compiling bzip2 v0.4.4
[INFO] [stderr]    Compiling symphonia v0.5.3
[INFO] [stderr]    Compiling rodio v0.17.1
[INFO] [stderr]    Compiling wgpu-hal v0.16.2
[INFO] [stderr]    Compiling cargo-platform v0.1.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling cargo_metadata v0.14.2
[INFO] [stderr]    Compiling zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]    Compiling zip v0.6.6
[INFO] [stderr]    Compiling skeptic v0.13.7
[INFO] [stderr]    Compiling wgpu-core v0.16.1
[INFO] [stderr]    Compiling ggez v0.9.3
[INFO] [stderr]    Compiling wgpu v0.16.2
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stderr]    Compiling stratopia v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DrawMode`, `MeshBuilder`, and `Rect`
[INFO] [stdout]  --> src/main.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     graphics::{self, Canvas, DrawMode, DrawParam, Image, Mesh, MeshBuilder, Rect},
[INFO] [stdout]   |                              ^^^^^^^^                          ^^^^^^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics::Image`
[INFO] [stdout]  --> src/structs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::graphics::Image;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tilemap`
[INFO] [stdout]   --> src/generation.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn generate_villages(tilemap: &mut [[TileType; MAP_X]; MAP_Y], resource_array: &mut [[ResourceType; MAP_X]; MAP_Y], seed: u64){
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tilemap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile_type`
[INFO] [stdout]    --> src/generation.rs:128:24
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stdout]     |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resources_left`
[INFO] [stdout]    --> src/generation.rs:128:44
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/main.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn update(&mut self, ctx: &mut Context) -> GameResult {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/main.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         ctx: &mut Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         ctx: &mut Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         x: f32,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         y: f32,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let x = row as f32 * 50.0;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let y = col as f32 * 50.0;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tilemap` and `resource_map` are never read
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct GameState{
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 15 |     tilemap: [[TileType; MAP_X]; MAP_Y],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     tilemap_mesh: Mesh,
[INFO] [stdout] 17 |     resource_map: [[ResourceType; MAP_X]; MAP_Y],
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WaterResource`, `LandResource`, and `MountainResource` are never constructed
[INFO] [stdout]  --> src/structs.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ResourceType{
[INFO] [stdout]   |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     WaterResource(Resource),
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 8 |     LandResource(Resource),
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 9 |     MountainResource(Resource),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ResourceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `health`, `damage`, `defense`, `range`, and `movement` are never read
[INFO] [stdout]   --> src/structs.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Soldier{
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 27 |     pub soldier_type: SoldierType,
[INFO] [stdout] 28 |     pub health: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 29 |     pub damage: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 30 |     pub defense: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 31 |     pub range: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |     pub movement: u8
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Soldier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_random_resource` is never used
[INFO] [stdout]    --> src/generation.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 49s
[INFO] running `Command { std: "docker" "inspect" "10ade679db8c2c3678a86857148a8466161a6488ad9ebdf5a464db4e15c6d2c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10ade679db8c2c3678a86857148a8466161a6488ad9ebdf5a464db4e15c6d2c2", kill_on_drop: false }`
[INFO] [stdout] 10ade679db8c2c3678a86857148a8466161a6488ad9ebdf5a464db4e15c6d2c2
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8681fb4e8741d5b9205fd890d9faec02feb469ed96e3548643776450c6998e1c
[INFO] running `Command { std: "docker" "start" "-a" "8681fb4e8741d5b9205fd890d9faec02feb469ed96e3548643776450c6998e1c", kill_on_drop: false }`
[INFO] [stderr]    Compiling stratopia v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DrawMode`, `MeshBuilder`, and `Rect`
[INFO] [stdout]  --> src/main.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 |     graphics::{self, Canvas, DrawMode, DrawParam, Image, Mesh, MeshBuilder, Rect},
[INFO] [stdout]   |                              ^^^^^^^^                          ^^^^^^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics::Image`
[INFO] [stdout]  --> src/structs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::graphics::Image;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tilemap`
[INFO] [stdout]   --> src/generation.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn generate_villages(tilemap: &mut [[TileType; MAP_X]; MAP_Y], resource_array: &mut [[ResourceType; MAP_X]; MAP_Y], seed: u64){
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tilemap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile_type`
[INFO] [stdout]    --> src/generation.rs:128:24
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stdout]     |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resources_left`
[INFO] [stdout]    --> src/generation.rs:128:44
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/main.rs:60:26
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn update(&mut self, ctx: &mut Context) -> GameResult {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/main.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         ctx: &mut Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/main.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         ctx: &mut Context,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/main.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         x: f32,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/main.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         y: f32,
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let x = row as f32 * 50.0;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:161:17
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let y = col as f32 * 50.0;
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tilemap` and `resource_map` are never read
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct GameState{
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 15 |     tilemap: [[TileType; MAP_X]; MAP_Y],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     tilemap_mesh: Mesh,
[INFO] [stdout] 17 |     resource_map: [[ResourceType; MAP_X]; MAP_Y],
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `WaterResource`, `LandResource`, and `MountainResource` are never constructed
[INFO] [stdout]  --> src/structs.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ResourceType{
[INFO] [stdout]   |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     WaterResource(Resource),
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 8 |     LandResource(Resource),
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 9 |     MountainResource(Resource),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ResourceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `health`, `damage`, `defense`, `range`, and `movement` are never read
[INFO] [stdout]   --> src/structs.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Soldier{
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 27 |     pub soldier_type: SoldierType,
[INFO] [stdout] 28 |     pub health: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 29 |     pub damage: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 30 |     pub defense: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 31 |     pub range: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 32 |     pub movement: u8
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Soldier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_random_resource` is never used
[INFO] [stdout]    --> src/generation.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.82s
[INFO] running `Command { std: "docker" "inspect" "8681fb4e8741d5b9205fd890d9faec02feb469ed96e3548643776450c6998e1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8681fb4e8741d5b9205fd890d9faec02feb469ed96e3548643776450c6998e1c", kill_on_drop: false }`
[INFO] [stdout] 8681fb4e8741d5b9205fd890d9faec02feb469ed96e3548643776450c6998e1c
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2fe951dba4ac8b358557213c822f94710f9d15e80200959b49baaa6d1305e99d
[INFO] running `Command { std: "docker" "start" "-a" "2fe951dba4ac8b358557213c822f94710f9d15e80200959b49baaa6d1305e99d", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `DrawMode`, `MeshBuilder`, and `Rect`
[INFO] [stderr]  --> src/main.rs:4:30
[INFO] [stderr]   |
[INFO] [stderr] 4 |     graphics::{self, Canvas, DrawMode, DrawParam, Image, Mesh, MeshBuilder, Rect},
[INFO] [stderr]   |                              ^^^^^^^^                          ^^^^^^^^^^^  ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics::Image`
[INFO] [stderr]  --> src/structs.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::graphics::Image;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tilemap`
[INFO] [stderr]   --> src/generation.rs:90:22
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn generate_villages(tilemap: &mut [[TileType; MAP_X]; MAP_Y], resource_array: &mut [[ResourceType; MAP_X]; MAP_Y], seed: u64){
[INFO] [stderr]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tilemap`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tile_type`
[INFO] [stderr]    --> src/generation.rs:128:24
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stderr]     |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `resources_left`
[INFO] [stderr]    --> src/generation.rs:128:44
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources_left`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/main.rs:60:26
[INFO] [stderr]    |
[INFO] [stderr] 60 |     fn update(&mut self, ctx: &mut Context) -> GameResult {
[INFO] [stderr]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/main.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |         ctx: &mut Context,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/main.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |         ctx: &mut Context,
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/main.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         x: f32,
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]   --> src/main.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 96 |         y: f32,
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/main.rs:160:17
[INFO] [stderr]     |
[INFO] [stderr] 160 |             let x = row as f32 * 50.0;
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/main.rs:161:17
[INFO] [stderr]     |
[INFO] [stderr] 161 |             let y = col as f32 * 50.0;
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tilemap` and `resource_map` are never read
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | struct GameState{
[INFO] [stderr]    |        --------- fields in this struct
[INFO] [stderr] 15 |     tilemap: [[TileType; MAP_X]; MAP_Y],
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 16 |     tilemap_mesh: Mesh,
[INFO] [stderr] 17 |     resource_map: [[ResourceType; MAP_X]; MAP_Y],
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `WaterResource`, `LandResource`, and `MountainResource` are never constructed
[INFO] [stderr]  --> src/structs.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum ResourceType{
[INFO] [stderr]   |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 7 |     WaterResource(Resource),
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 8 |     LandResource(Resource),
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 9 |     MountainResource(Resource),
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ResourceType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `health`, `damage`, `defense`, `range`, and `movement` are never read
[INFO] [stderr]   --> src/structs.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct Soldier{
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 27 |     pub soldier_type: SoldierType,
[INFO] [stderr] 28 |     pub health: u8,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 29 |     pub damage: u8,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 30 |     pub defense: u8,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 31 |     pub range: u8,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 32 |     pub movement: u8
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Soldier` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_random_resource` is never used
[INFO] [stderr]    --> src/generation.rs:128:4
[INFO] [stderr]     |
[INFO] [stderr] 128 | fn get_random_resource(tile_type: TileType,resources_left: u32){
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `stratopia` (bin "stratopia" test) generated 16 warnings (run `cargo fix --bin "stratopia" -p stratopia --tests` to apply 12 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/stratopia-848ed1762b4f9949)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2fe951dba4ac8b358557213c822f94710f9d15e80200959b49baaa6d1305e99d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fe951dba4ac8b358557213c822f94710f9d15e80200959b49baaa6d1305e99d", kill_on_drop: false }`
[INFO] [stdout] 2fe951dba4ac8b358557213c822f94710f9d15e80200959b49baaa6d1305e99d
