[INFO] cloning repository https://github.com/PolypodyVR/holdfast
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PolypodyVR/holdfast" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPolypodyVR%2Fholdfast", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPolypodyVR%2Fholdfast'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1ce5161a39c0ec2c9064d37b64044bd73cd035b6
[INFO] testing PolypodyVR/holdfast against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPolypodyVR%2Fholdfast" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/PolypodyVR/holdfast
[INFO] finished tweaking git repo https://github.com/PolypodyVR/holdfast
[INFO] tweaked toml for git repo https://github.com/PolypodyVR/holdfast written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/PolypodyVR/holdfast on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/PolypodyVR/holdfast 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8a61eb98e62fcfb03210350b032510cca886f5fabf57c3ea947a539bc9398bed
[INFO] running `Command { std: "docker" "start" "-a" "8a61eb98e62fcfb03210350b032510cca886f5fabf57c3ea947a539bc9398bed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8a61eb98e62fcfb03210350b032510cca886f5fabf57c3ea947a539bc9398bed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a61eb98e62fcfb03210350b032510cca886f5fabf57c3ea947a539bc9398bed", kill_on_drop: false }`
[INFO] [stdout] 8a61eb98e62fcfb03210350b032510cca886f5fabf57c3ea947a539bc9398bed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2eb5e172f7c01fee2a352b65338960cbf755f1a0923c6aaedc3f91daf2641d2b
[INFO] running `Command { std: "docker" "start" "-a" "2eb5e172f7c01fee2a352b65338960cbf755f1a0923c6aaedc3f91daf2641d2b", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.114
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling wasm-bindgen v0.2.114
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.114
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling js-sys v0.3.91
[INFO] [stderr]    Compiling serde-wasm-bindgen v0.6.5
[INFO] [stderr]    Compiling web-sys v0.3.91
[INFO] [stderr]    Compiling holdfast v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `GameError` is never used
[INFO] [stdout]  --> src/game/error.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum GameError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.87s
[INFO] running `Command { std: "docker" "inspect" "2eb5e172f7c01fee2a352b65338960cbf755f1a0923c6aaedc3f91daf2641d2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2eb5e172f7c01fee2a352b65338960cbf755f1a0923c6aaedc3f91daf2641d2b", kill_on_drop: false }`
[INFO] [stdout] 2eb5e172f7c01fee2a352b65338960cbf755f1a0923c6aaedc3f91daf2641d2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 051e5fd73b95d60aecbeb628e0675f6f8468d197a72ac3a391ba1db82c5e5cbb
[INFO] running `Command { std: "docker" "start" "-a" "051e5fd73b95d60aecbeb628e0675f6f8468d197a72ac3a391ba1db82c5e5cbb", kill_on_drop: false }`
[INFO] [stderr]    Compiling holdfast v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `GameError` is never used
[INFO] [stdout]  --> src/game/error.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum GameError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GameError` is never used
[INFO] [stdout]  --> src/game/error.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum GameError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.94s
[INFO] running `Command { std: "docker" "inspect" "051e5fd73b95d60aecbeb628e0675f6f8468d197a72ac3a391ba1db82c5e5cbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "051e5fd73b95d60aecbeb628e0675f6f8468d197a72ac3a391ba1db82c5e5cbb", kill_on_drop: false }`
[INFO] [stdout] 051e5fd73b95d60aecbeb628e0675f6f8468d197a72ac3a391ba1db82c5e5cbb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 267af3ad30231d094c47a9014e787c2bad0fcfa121efd25d40ec99b1c02009c9
[INFO] running `Command { std: "docker" "start" "-a" "267af3ad30231d094c47a9014e787c2bad0fcfa121efd25d40ec99b1c02009c9", kill_on_drop: false }`
[INFO] [stderr] warning: enum `GameError` is never used
[INFO] [stderr]  --> src/game/error.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum GameError {
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `holdfast` (lib) generated 1 warning
[INFO] [stderr] warning: `holdfast` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/holdfast-4c6d82f5e31036a9)
[INFO] [stdout] 
[INFO] [stdout] running 284 tests
[INFO] [stdout] test game::adjacency::tests::test_incomplete_building_excluded ... ok
[INFO] [stdout] test game::adjacency::tests::test_not_adjacent_no_bonus ... ok
[INFO] [stdout] test game::adjacency::tests::test_same_type_production_bonus ... ok
[INFO] [stdout] test game::adjacency::tests::test_wall_tower_bonus ... ok
[INFO] [stdout] test game::adjacency::tests::test_wrap_around_adjacency ... ok
[INFO] [stdout] test game::archer_combat::tests::arrow_arc_peaks_at_midpoint ... ok
[INFO] [stdout] test game::archer_combat::tests::empty_when_not_night ... ok
[INFO] [stdout] test game::buildings::tests::all_buildings_have_positive_hp ... ok
[INFO] [stdout] test game::buildings::tests::footprint_radius_positive_for_all ... ok
[INFO] [stdout] test game::buildings::tests::fortress_costs_nothing ... ok
[INFO] [stdout] test game::buildings::tests::fortress_only_in_ring_0 ... ok
[INFO] [stdout] test game::buildings::tests::hovel_population_capacity_increases_with_level ... ok
[INFO] [stdout] test game::buildings::tests::max_level_fortress_is_1 ... ok
[INFO] [stdout] test game::buildings::tests::max_level_hovel_is_3 ... ok
[INFO] [stdout] test game::buildings::tests::no_production_for_military_buildings ... ok
[INFO] [stdout] test game::buildings::tests::production_for_economic_buildings ... ok
[INFO] [stdout] test game::buildings::tests::production_mult_increases_with_level ... ok
[INFO] [stdout] test game::buildings::tests::serde_name_roundtrip ... ok
[INFO] [stdout] test game::buildings::tests::unknown_serde_name_returns_none ... ok
[INFO] [stdout] test game::buildings::tests::upgrade_cost_none_at_max_level ... ok
[INFO] [stdout] test game::buildings::tests::upgrade_cost_some_below_max ... ok
[INFO] [stdout] test game::buildings::tests::wall_allowed_in_rings_1_2_3 ... ok
[INFO] [stdout] test game::buildings::tests::wall_hp_increases_with_level ... ok
[INFO] [stdout] test game::combat::tests::forecast_safe_fields_are_correct ... ok
[INFO] [stdout] test game::combat::tests::forecast_layer_breakdown_matches_auto_resolve ... ok
[INFO] [stdout] test game::combat::tests::incomplete_building_excluded_from_defense_but_damageable ... ok
[INFO] [stdout] test game::combat::tests::forecast_matches_reality ... ok
[INFO] [stdout] test game::combat::tests::knights_project_better_than_riders_into_heavy_waves ... ok
[INFO] [stdout] test game::combat::tests::no_defences_full_breach ... ok
[INFO] [stdout] test game::combat::tests::overkill_clean_exact_match ... ok
[INFO] [stdout] test game::combat::tests::overkill_decisive_gives_iron ... ok
[INFO] [stdout] test game::combat::tests::perfect_defence_zero_breach ... ok
[INFO] [stdout] test game::combat::tests::riders_keep_meaningful_projection_into_skirmish_waves ... ok
[INFO] [stdout] test game::combat::tests::overkill_night_scaling ... ok
[INFO] [stdout] test game::connection_graph::tests::footprint_radius_returns_positive ... ok
[INFO] [stdout] test game::combat::tests::overkill_none_on_breach ... ok
[INFO] [stdout] test game::crowd::tests::blob_damage_kills_front_members ... ok
[INFO] [stdout] test game::connection_graph::tests::wall_arc_generates_correct_points ... ok
[INFO] [stdout] test game::combat::tests::overkill_crushing_gives_obsidian ... ok
[INFO] [stdout] test game::connection_graph::tests::buttress_for_tower_adjacent_wall ... ok
[INFO] [stdout] test game::connection_graph::tests::lerp_angle_wraps_correctly ... ok
[INFO] [stdout] test game::combat::tests::wave_composition_correct ... ok
[INFO] [stdout] test game::connection_graph::tests::wall_joint_at_shared_slot ... ok
[INFO] [stdout] test game::crowd::tests::small_groups_not_blobbed ... ok
[INFO] [stdout] test game::crowd::tests::dissolved_siege_members_keep_wall_target ... ok
[INFO] [stdout] test game::difficulty::tests::parser_accepts_known_values ... ok
[INFO] [stdout] test game::crowd::tests::form_blobs_absorbs_far_enemies ... ok
[INFO] [stdout] test game::combat::tests::units_augment_defense ... ok
[INFO] [stdout] test game::difficulty::tests::default_is_warden ... ok
[INFO] [stdout] test game::crowd::tests::blob_dissolves_at_boundary ... ok
[INFO] [stdout] test game::enemies::tests::breach_damage_weighted ... ok
[INFO] [stdout] test game::difficulty::tests::profiles_scale_pressure_monotonically ... ok
[INFO] [stdout] test game::enemies::tests::night_6_revenants_join ... ok
[INFO] [stdout] test game::enemies::tests::night_8_banshees_join ... ok
[INFO] [stdout] test game::enemies::tests::formula_scaling_night_10 ... ok
[INFO] [stdout] test game::enemies::tests::night_12_juggernauts_join ... ok
[INFO] [stdout] test game::enemies::tests::night_1_wights_only ... ok
[INFO] [stdout] test game::connection_graph::tests::foundation_clusters_merge_adjacent ... ok
[INFO] [stdout] test game::enemy_movement::tests::dead_enemies_excluded_from_buffer_after_animation ... ok
[INFO] [stdout] test game::enemies::tests::total_wave_pressure_is_non_decreasing_through_midgame ... ok
[INFO] [stdout] test game::enemies::tests::night_7_dread_riders_join ... ok
[INFO] [stdout] test game::enemies::tests::revenant_wall_slots ... ok
[INFO] [stdout] test game::enemies::tests::siege_units_in_wave_composition ... ok
[INFO] [stdout] test game::enemies::tests::scaled_wave_preserves_presence_of_existing_enemy_types ... ok
[INFO] [stdout] test game::fortress_architecture::tests::blueprint_suggests_gap_fill_and_tower_junction ... ok
[INFO] [stdout] test game::fortress_architecture::tests::construction_segment_for_incomplete_walls ... ok
[INFO] [stdout] test game::enemy_movement::tests::from_combat_state_creates_enemies ... ok
[INFO] [stdout] test game::enemies::tests::night_3_ghouls_join ... ok
[INFO] [stdout] test game::enemies::tests::tier_mapping_is_stable ... ok
[INFO] [stdout] test game::fortress_architecture::tests::sector_defense_four_quadrants ... ok
[INFO] [stdout] test game::fortress_architecture::tests::snap_magnet_strength_for_tower_ghost ... ok
[INFO] [stdout] test game::fortress_architecture::tests::tower_snap_between_completed_walls ... ok
[INFO] [stdout] test game::fortress_architecture::tests::ghost_wall_path_includes_ghost_and_neighbors ... ok
[INFO] [stdout] test game::heightmap::tests::world_to_grid_clamps_out_of_bounds ... ok
[INFO] [stdout] test game::enemy_movement::tests::sync_preserves_death_animation ... ok
[INFO] [stdout] test game::hero::tests::rally_point_set_and_clear ... ok
[INFO] [stdout] test game::hero::tests::rank_scaling_values ... ok
[INFO] [stdout] test game::hero::tests::test_choose_archetype_and_unlock_skill ... ok
[INFO] [stdout] test game::hero::tests::test_hero_equip_item ... ok
[INFO] [stdout] test game::connection_graph::tests::cross_ring_link_for_aligned_walls ... ok
[INFO] [stdout] test game::enemy_movement::tests::float32_buffer_has_correct_stride ... ok
[INFO] [stdout] test game::hero::tests::test_hero_retreat_when_low_hp ... ok
[INFO] [stdout] test game::hero::tests::test_inventory_equip_flow ... ok
[INFO] [stdout] test game::hero::tests::test_hero_take_damage ... ok
[INFO] [stdout] test game::hero::tests::test_hero_level_up ... ok
[INFO] [stdout] test game::hero::tests::test_unlock_requires_level_and_points ... ok
[INFO] [stdout] test game::hero::tests::upgrade_consumes_point ... ok
[INFO] [stdout] test game::hero::tests::test_hero_max_level ... ok
[INFO] [stdout] test game::hero::tests::upgrade_fails_without_points ... ok
[INFO] [stdout] test game::hero::tests::upgrade_fails_at_rank_3 ... ok
[INFO] [stdout] test game::hero::tests::test_hero_new ... ok
[INFO] [stdout] test game::map_format::tests::invalid_magic_rejected ... ok
[INFO] [stdout] test game::map_format::tests::too_short_rejected ... ok
[INFO] [stdout] test game::melee_combat::tests::archers_excluded_from_melee ... ok
[INFO] [stdout] test game::hero::tests::test_hero_item_drop_probability ... ok
[INFO] [stdout] test game::melee_combat::tests::empty_when_not_night ... ok
[INFO] [stdout] test game::minimap::tests::heatmap_cell_angles_and_radii_valid ... ok
[INFO] [stdout] test game::minimap::tests::arrows_from_combat_during_night ... ok
[INFO] [stdout] test game::heightmap::tests::height_at_out_of_bounds_clamps_to_edge_cells ... ok
[INFO] [stdout] test game::minimap::tests::building_dots_correct_count_and_category ... ok
[INFO] [stdout] test game::minimap::tests::enemy_dots_empty_during_day ... ok
[INFO] [stdout] test game::minimap::tests::heatmap_empty_without_combat ... ok
[INFO] [stdout] test game::minimap::tests::heatmap_dominant_type_correct ... ok
[INFO] [stdout] test game::minimap::tests::no_arrows_during_day ... ok
[INFO] [stdout] test game::minimap::tests::heatmap_has_cells_with_enemies ... ok
[INFO] [stdout] test game::minimap::tests::enemy_dots_exclude_fully_dead ... ok
[INFO] [stdout] test game::minimap::tests::heatmap_defense_coverage_from_buildings ... ok
[INFO] [stdout] test game::minimap::tests::world_radius_is_set ... ok
[INFO] [stdout] test game::minimap::tests::enemy_dots_from_live_movement ... ok
[INFO] [stdout] test game::noise::tests::domain_warp_offsets_coordinates ... ok
[INFO] [stdout] test game::noise::tests::ridged_noise_returns_0_to_1 ... ok
[INFO] [stdout] test game::minimap::tests::radial_band_mapping ... ok
[INFO] [stdout] test game::map_format::tests::unknown_section_skipped ... ok
[INFO] [stdout] test game::noise::tests::warped_fbm_returns_bounded ... ok
[INFO] [stdout] test game::noise::tests::simplex_fbm_returns_bounded_values ... ok
[INFO] [stdout] test game::outposts::tests::max_hp_values ... ok
[INFO] [stdout] test game::noise::tests::simplex2d_returns_bounded_values ... ok
[INFO] [stdout] test game::minimap::tests::no_heatmap_during_day ... ok
[INFO] [stdout] test game::outposts::tests::cost_lumber_outpost ... ok
[INFO] [stdout] test game::outposts::tests::cost_mining_camp ... ok
[INFO] [stdout] test game::outposts::tests::placement_hunting_needs_vegetation ... ok
[INFO] [stdout] test game::outposts::tests::placement_hunting_needs_distance_from_river ... ok
[INFO] [stdout] test game::outposts::tests::placement_lumber_valid ... ok
[INFO] [stdout] test game::outposts::tests::placement_hunting_valid ... ok
[INFO] [stdout] test game::outposts::tests::placement_lumber_needs_forest ... ok
[INFO] [stdout] test game::outposts::tests::placement_mining_needs_rough_terrain ... ok
[INFO] [stdout] test game::outposts::tests::placement_max_outposts ... ok
[INFO] [stdout] test game::outposts::tests::placement_mining_valid_with_roughness ... ok
[INFO] [stdout] test game::outposts::tests::placement_mining_valid_with_slope ... ok
[INFO] [stdout] test game::outposts::tests::placement_too_close_to_center ... ok
[INFO] [stdout] test game::outposts::tests::placement_too_close_to_existing ... ok
[INFO] [stdout] test game::outposts::tests::placement_too_far ... ok
[INFO] [stdout] test game::outposts::tests::placement_too_steep ... ok
[INFO] [stdout] test game::outposts::tests::placement_watchtower_always_valid ... ok
[INFO] [stdout] test game::outposts::tests::production_lumber ... ok
[INFO] [stdout] test game::outposts::tests::production_hunting ... ok
[INFO] [stdout] test game::outposts::tests::production_watchtower_is_zero ... ok
[INFO] [stdout] test game::outposts::tests::production_mining ... ok
[INFO] [stdout] test game::outposts::tests::workers_values ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_death_emits_event ... ok
[INFO] [stdout] test game::outposts::tests::serde_name_roundtrip ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_kill_awards_obsidian ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_moves_toward_center ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_phase_transitions ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_spawns_on_correct_nights ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_wave_reduction ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::night_requires_boss_death ... ok
[INFO] [stdout] test game::realtime_combat::bosses::tests::boss_escort_count ... ok
[INFO] [stdout] test game::realtime_combat::tests::enemy_can_kill_field_unit ... ok
[INFO] [stdout] test game::realtime_combat::tests::climber_bypasses_wall ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_enemy_moves_inward ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_enemy_targets_wall_in_its_sector ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_hero_aura_buffs_units ... ok
[INFO] [stdout] test game::realtime_combat::tests::siege_tower_deploys_passengers ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_hero_retreats_when_low_hp ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_wave_spawner_timing ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_enemy_uses_open_gap_instead_of_unrelated_wall ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_hero_kills_enemy ... ok
[INFO] [stdout] test game::realtime_combat::towers::tests::ballista_boss_double_damage ... ok
[INFO] [stdout] test game::realtime_combat::towers::tests::boiling_oil_damages_attackers ... ok
[INFO] [stdout] test game::realtime_combat::tests::ram_targets_wall ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_wall_blocks_enemy ... ok
[INFO] [stdout] test game::realtime_combat::towers::tests::catapult_aoe_hits_multiple ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_hero_spawns_and_engages ... ok
[INFO] [stdout] test game::realtime_combat::towers::tests::targeting_mode_strongest ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_night_completes_when_all_dead ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_spatial_hash_nearest ... ok
[INFO] [stdout] test game::realtime_combat::tests::test_tower_kills_enemy ... ok
[INFO] [stdout] test game::realtime_combat::towers::tests::targeting_mode_weakest ... ok
[INFO] [stdout] test game::realtime_combat::towers::tests::wall_upgrade_costs_resources ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::deploy_units_can_filter_by_type ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::deployed_unit_renders_export_runtime_target_enemy_index ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::recall_units_can_filter_by_type ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::deployed_unit_renders_cover_all_player_unit_types ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::rider_charge_applies_control_effect ... ok
[INFO] [stdout] test game::resources::tests::add_increases_resources ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::knight_trades_better_than_rider_into_revenant_pressure ... ok
[INFO] [stdout] test game::realtime_combat::units::tests::rider_runtime_profile_is_faster_than_knight ... ok
[INFO] [stdout] test game::resources::tests::can_afford_false_when_not_enough ... ok
[INFO] [stdout] test game::resources::tests::can_afford_zero_cost_always_true ... ok
[INFO] [stdout] test game::resources::tests::clamp_non_negative_preserves_positive ... ok
[INFO] [stdout] test game::resources::tests::can_afford_true_when_enough ... ok
[INFO] [stdout] test game::resources::tests::clamp_morale_upper_bound ... ok
[INFO] [stdout] test game::resources::tests::clamp_morale_within_range_unchanged ... ok
[INFO] [stdout] test game::resources::tests::clamp_morale_lower_bound ... ok
[INFO] [stdout] test game::resources::tests::cost_zero_all_fields_zero ... ok
[INFO] [stdout] test game::resources::tests::clamp_non_negative_floors_at_zero ... ok
[INFO] [stdout] test game::resources::tests::subtract_reduces_resources ... ok
[INFO] [stdout] test game::resources::tests::starting_resources_have_positive_values ... ok
[INFO] [stdout] test game::resources::tests::total_population_includes_children ... ok
[INFO] [stdout] test game::ring_grid::tests::clear_slot_same_as_free ... ok
[INFO] [stdout] test game::ring_grid::tests::fortress_slot_at_origin ... ok
[INFO] [stdout] test game::ring_grid::tests::locked_ring_slot_not_free ... ok
[INFO] [stdout] test game::ring_grid::tests::nearest_slot_basic ... ok
[INFO] [stdout] test game::ring_grid::tests::nearest_slot_skips_fortress_ring ... ok
[INFO] [stdout] test game::ring_grid::tests::occupy_out_of_bounds_is_noop ... ok
[INFO] [stdout] test game::ring_grid::tests::out_of_bounds_ring_not_free ... ok
[INFO] [stdout] test game::ring_grid::tests::nearest_slot_skips_locked_rings ... ok
[INFO] [stdout] test game::ring_grid::tests::out_of_bounds_slot_not_free ... ok
[INFO] [stdout] test game::ring_grid::tests::ring_1_slot_0_positive_x_axis ... ok
[INFO] [stdout] test game::ring_grid::tests::ring_grid_has_five_rings ... ok
[INFO] [stdout] test game::ring_grid::tests::slot_angles_divide_circle_evenly ... ok
[INFO] [stdout] test game::ring_grid::tests::slot_count_increases_with_ring ... ok
[INFO] [stdout] test game::ring_grid::tests::slot_occupy_and_free ... ok
[INFO] [stdout] test game::rock_formations::tests::coordinate_conversion_roundtrip ... ok
[INFO] [stdout] test game::rock_formations::tests::is_near_outcrop_works ... ok
[INFO] [stdout] test game::rock_formations::tests::value_noise_deterministic ... ok
[INFO] [stdout] test game::scouting::tests::angle_within_arc_wrapping ... ok
[INFO] [stdout] test game::scouting::tests::building_reveals_only_outer_completed ... ok
[INFO] [stdout] test game::scouting::tests::fog_bands_use_ring_radii ... ok
[INFO] [stdout] test game::scouting::tests::incomplete_tower_no_reveal ... ok
[INFO] [stdout] test game::scouting::tests::multiple_towers_increase_coverage ... ok
[INFO] [stdout] test game::scouting::tests::non_watchtower_ignored ... ok
[INFO] [stdout] test game::rock_formations::tests::value_noise_in_range ... ok
[INFO] [stdout] test game::scouting::tests::no_towers_full_fog ... ok
[INFO] [stdout] test game::rock_formations::tests::no_outcrops_when_density_zero ... ok
[INFO] [stdout] test game::scouting::tests::watchtower_has_largest_reveal ... ok
[INFO] [stdout] test game::scouting::tests::single_tower_reveals_slots ... ok
[INFO] [stdout] test game::snow::tests::movement_modifier_max_slowdown ... ok
[INFO] [stdout] test game::rock_formations::tests::ridge_enhancement_zero_strength_no_change ... ok
[INFO] [stdout] test game::snow::tests::depth_at_center ... ok
[INFO] [stdout] test game::snow::tests::movement_modifier_no_slowdown_below_threshold ... ok
[INFO] [stdout] test game::snow::tests::movement_modifier_partial ... ok
[INFO] [stdout] test game::snow::tests::frozen_init_zeroes_outside_mask ... ok
[INFO] [stdout] test game::terrain_engine::tests::empty_terrain_has_zero_heights ... ok
[INFO] [stdout] test game::rock_formations::tests::cliff_detection_finds_steep_run ... ok
[INFO] [stdout] test game::rock_formations::tests::cliff_detection_on_flat_terrain_empty ... ok
[INFO] [stdout] test game::rock_formations::tests::terrace_filter_zero_strength_no_change ... ok
[INFO] [stdout] test game::snow::tests::frozen_init_fills_within_mask ... ok
[INFO] [stdout] test game::rock_formations::tests::ridge_enhancement_only_affects_high_terrain ... ok
[INFO] [stdout] test game::erosion::tests::excessive_iteration_request_stays_finite ... ok
[INFO] [stdout] test game::map_format::tests::empty_data_round_trip ... ok
[INFO] [stdout] test game::map_format::tests::round_trip_save_load ... ok
[INFO] [stdout] test game::moisture::tests::wind_direction_changes_windward_moisture_pattern ... ok
[INFO] [stdout] test game::moisture::tests::confluence_bias_wets_multi_channel_junctions ... ok
[INFO] [stdout] test game::realtime_combat::tests::night_14_eventually_spawns_every_enemy_type ... ok
[INFO] [stdout] test game::enemy_movement::tests::float32_buffer_covers_all_enemy_type_ids ... ok
[INFO] [stdout] test game::terrain_engine::tests::center_is_flatter_than_edges ... ok
[INFO] [stdout] test game::tests::night_plan_assigns_units_when_night_starts ... ok
[INFO] [stdout] test game::terrain_engine::tests::height_at_handles_out_of_bounds ... ok
[INFO] [stdout] test game::terrain_engine::tests::save_load_roundtrip ... ok
[INFO] [stdout] test game::terrain_engine::tests::heightmap_dimensions_match_grid ... ok
[INFO] [stdout] test game::tests::combat_unit_losses_sync_back_to_campaign_units ... ok
[INFO] [stdout] test game::unit_positions::tests::day_units_get_positions_near_barracks ... ok
[INFO] [stdout] test game::unit_positions::tests::dead_units_excluded ... ok
[INFO] [stdout] test game::unit_positions::tests::night_units_march_to_defense ... ok
[INFO] [stdout] test game::units::tests::field_archer_profile_is_weaker_than_militia_in_melee ... ok
[INFO] [stdout] test game::units::tests::knight_takes_two_days ... ok
[INFO] [stdout] test game::units::tests::training_produces_unit ... ok
[INFO] [stdout] test game::units::tests::unit_counts_from_roster ... ok
[INFO] [stdout] test game::walls::tests::adjacent_walls_produce_segment ... ok
[INFO] [stdout] test game::walls::tests::gatehouse_assigned_to_front_wall ... ok
[INFO] [stdout] test game::walls::tests::gatehouse_detail_computed ... ok
[INFO] [stdout] test game::walls::tests::gatehouse_portcullis_closed_at_night ... ok
[INFO] [stdout] test game::walls::tests::incomplete_wall_excluded ... ok
[INFO] [stdout] test game::walls::tests::merge_group_contiguous_walls ... ok
[INFO] [stdout] test game::walls::tests::non_adjacent_walls_no_segment ... ok
[INFO] [stdout] test game::walls::tests::torch_positions_generated_on_segment ... ok
[INFO] [stdout] test game::walls::tests::tower_junction_with_adjacent_walls ... ok
[INFO] [stdout] test game::workers::tests::construction_workers_visible ... ok
[INFO] [stdout] test game::workers::tests::no_workers_at_night ... ok
[INFO] [stdout] test game::workers::tests::produces_correct_worker_count ... ok
[INFO] [stdout] test game::world_map::tests::generated_world_contains_player_and_foreign_capitals ... ok
[INFO] [stdout] test game::world_map::tests::generation_is_deterministic_for_same_seed ... ok
[INFO] [stdout] test game::world_map::tests::higher_alluvial_fertility_supports_larger_foreign_settlements ... ok
[INFO] [stdout] test game::world_map::tests::higher_confluence_bias_supports_larger_trade_centers ... ok
[INFO] [stdout] test game::world_map::tests::higher_fortress_defensibility_yields_harder_foreign_capitals ... ok
[INFO] [stdout] test game::world_map::tests::higher_pass_density_strengthens_mountain_corridors ... ok
[INFO] [stdout] test game::world_map::tests::higher_settlement_corridors_cluster_settlements_into_clearer_bands ... ok
[INFO] [stdout] test game::terrain_engine::tests::terrain_mask_u8_matches_bool_mask ... ok
[INFO] [stdout] test game::terrain_engine::tests::height_at_returns_finite_for_center ... ok
[INFO] [stdout] test game::terrain_engine::tests::heights_within_reasonable_range ... FAILED
[INFO] [stdout] test game::terrain_engine::tests::geological_query_methods_return_finite ... ok
[INFO] [stdout] test game::terrain_engine::tests::slope_at_returns_non_negative ... ok
[INFO] [stdout] test game::terrain_engine::tests::sculpt_raise_modifies_center ... ok
[INFO] [stdout] test game::thermal_erosion::tests::flat_terrain_unchanged ... ok
[INFO] [stdout] test game::terrain_engine::tests::map_data_accessors_return_correct_lengths ... ok
[INFO] [stdout] test game::thermal_erosion::tests::masked_cells_not_processed ... ok
[INFO] [stdout] test game::thermal_erosion::tests::zero_strength_no_change ... ok
[INFO] [stdout] test game::thermal_erosion::tests::steep_cliff_produces_talus ... ok
[INFO] [stdout] test game::terrain_engine::tests::sculpt_undo_restores_heights ... ok
[INFO] [stdout] test game::tests::render_state_exports_all_player_unit_types ... ok
[INFO] [stdout] test game::terrain_engine::tests::deterministic_generation_same_seed ... ok
[INFO] [stdout] test game::terrain_engine::tests::different_seeds_produce_different_terrain ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- game::terrain_engine::tests::heights_within_reasonable_range stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'game::terrain_engine::tests::heights_within_reasonable_range' (262) panicked at src/game/terrain_engine.rs:1318:13:
[INFO] [stdout] height at index 52055 out of reasonable range: -20.069065
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57b5b9f5e0aa - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57b5b9f5e0aa - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57b5b9f5e0aa - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57b5b9f5e0aa - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57b5b9f745ba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57b5b9f745ba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x57b5b9f62992 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x57b5b9f62992 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x57b5b9f3d0af - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57b5b9f3d0af - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57b5b9f56509 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x57b5b9eea0cc - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x57b5b9eea0cc - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x57b5b9f566c2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x57b5b9f566c2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x57b5b9f3d168 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x57b5b9f32349 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x57b5b9f3de7d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x57b5b9f74d4c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x57b5b9e87006 - holdfast[68cf65d8996a3298]::game::terrain_engine::tests::heights_within_reasonable_range
[INFO] [stdout]                                at /opt/rustwide/workdir/src/game/terrain_engine.rs:1318:13
[INFO] [stdout]   20:     0x57b5b9e81507 - holdfast[68cf65d8996a3298]::game::terrain_engine::tests::heights_within_reasonable_range::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/game/terrain_engine.rs:1307:41
[INFO] [stdout]   21:     0x57b5b9d7b496 - <holdfast[68cf65d8996a3298]::game::terrain_engine::tests::heights_within_reasonable_range::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x57b5b9edd3ab - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x57b5b9edd3ab - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x57b5b9eeab9b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x57b5b9eeab9b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x57b5b9eeab9b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x57b5b9eeab9b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x57b5b9eeab9b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x57b5b9eeab9b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x57b5b9eeab9b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x57b5b9ee42b4 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x57b5b9ee42b4 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x57b5b9eed7a2 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x57b5b9eed7a2 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x57b5b9eed7a2 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x57b5b9eed7a2 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x57b5b9eed7a2 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x57b5b9eed7a2 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x57b5b9eed7a2 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x57b5b9f5d9bf - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x57b5b9f5d9bf - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x798325c70aa4 - <unknown>
[INFO] [stdout]   43:     0x798325cfda64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     game::terrain_engine::tests::heights_within_reasonable_range
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 283 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.76s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "267af3ad30231d094c47a9014e787c2bad0fcfa121efd25d40ec99b1c02009c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "267af3ad30231d094c47a9014e787c2bad0fcfa121efd25d40ec99b1c02009c9", kill_on_drop: false }`
[INFO] [stdout] 267af3ad30231d094c47a9014e787c2bad0fcfa121efd25d40ec99b1c02009c9
