[INFO] fetching crate screeps-room-regions 0.1.3...
[INFO] checking screeps-room-regions-0.1.3 against try#09335b6f1bff25ec39f47f1533e126fbe1ca5f5d for pr-139493-2
[INFO] extracting crate screeps-room-regions 0.1.3 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate screeps-room-regions 0.1.3
[INFO] finished tweaking crates.io crate screeps-room-regions 0.1.3
[INFO] tweaked toml for crates.io crate screeps-room-regions 0.1.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate screeps-room-regions 0.1.3 on toolchain 09335b6f1bff25ec39f47f1533e126fbe1ca5f5d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09335b6f1bff25ec39f47f1533e126fbe1ca5f5d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09335b6f1bff25ec39f47f1533e126fbe1ca5f5d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 37 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.13.0 (available: v0.14.0)
[INFO] [stderr]       Adding js-sys v0.3.69 (available: v0.3.81)
[INFO] [stderr]       Adding screeps-game-api v0.21.3 (available: v0.23.1)
[INFO] [stderr]       Adding wasm-bindgen v0.2.92 (available: v0.2.104)
[INFO] [stderr]       Adding wasm-bindgen-backend v0.2.92 (available: v0.2.104)
[INFO] [stderr]       Adding wasm-bindgen-macro v0.2.92 (available: v0.2.104)
[INFO] [stderr]       Adding wasm-bindgen-macro-support v0.2.92 (available: v0.2.104)
[INFO] [stderr]       Adding wasm-bindgen-shared v0.2.92 (available: v0.2.104)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09335b6f1bff25ec39f47f1533e126fbe1ca5f5d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+09335b6f1bff25ec39f47f1533e126fbe1ca5f5d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 60a267b3b3356e67550c5703d99d6da3ce20ea70cd288428f39141f3884a752c
[INFO] running `Command { std: "docker" "start" "-a" "60a267b3b3356e67550c5703d99d6da3ce20ea70cd288428f39141f3884a752c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60a267b3b3356e67550c5703d99d6da3ce20ea70cd288428f39141f3884a752c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60a267b3b3356e67550c5703d99d6da3ce20ea70cd288428f39141f3884a752c", kill_on_drop: false }`
[INFO] [stdout] 60a267b3b3356e67550c5703d99d6da3ce20ea70cd288428f39141f3884a752c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+09335b6f1bff25ec39f47f1533e126fbe1ca5f5d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eea02e6f39cfa4e4349e1751eb5a93084ef86e06174f1742063bb6f6fd52e6d9
[INFO] running `Command { std: "docker" "start" "-a" "eea02e6f39cfa4e4349e1751eb5a93084ef86e06174f1742063bb6f6fd52e6d9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]     Checking priority-queue v2.7.0
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling enum-iterator-derive v1.5.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking enum-iterator v2.3.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]     Checking wasm-bindgen v0.2.92
[INFO] [stderr]     Checking js-sys v0.3.69
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking screeps-game-api v0.21.3
[INFO] [stderr]     Checking screeps-room-regions v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Direction::*`
[INFO] [stdout]    --> src/distance_transform.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         use Direction::*;
[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: `LocalCostMatrix`
[INFO] [stdout]  --> src/region_analysis/structs.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use screeps::{RoomXY, LocalCostMatrix, LocalRoomTerrain};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Direction::*`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:458:7
[INFO] [stdout]     |
[INFO] [stdout] 458 |   use Direction::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Direction::*`
[INFO] [stdout]    --> src/distance_transform.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         use Direction::*;
[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: `LocalCostMatrix`
[INFO] [stdout]  --> src/region_analysis/structs.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use screeps::{RoomXY, LocalCostMatrix, LocalRoomTerrain};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Direction::*`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:458:7
[INFO] [stdout]     |
[INFO] [stdout] 458 |   use Direction::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/region_analysis/structs.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |         for (xy, idx) in all_room_xy_and_idx() {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_id`
[INFO] [stdout]   --> src/region_analysis/structs.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 Color::Pending(color_id) => (), // Shouldn't exist, ignore for now
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/structs.rs:155:33
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     if let Some(mut edges_a) = graph.get_mut(label_a) {
[INFO] [stdout]     |                                 ----^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/structs.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     if let Some(mut edges_b) = graph.get_mut(label_b) {
[INFO] [stdout]     |                                 ----^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:154:25
[INFO] [stdout]     |
[INFO] [stdout] 154 |     while let Some((xy, height)) = queue.pop() {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xy_height`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let xy_height = height_map.get(xy);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xy_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/watershed.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let mut group_tilemap: TileMap<u8> = TileMap::new(0);
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/watershed.rs:486:13
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let mut current_group_members = group_members.entry(current_group_id).or_insert(HashSet::new());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/watershed.rs:494:13
[INFO] [stdout]     |
[INFO] [stdout] 494 |         let mut member_set = if has_neighbor_in_current_group {
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group_tilemap`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let mut group_tilemap: TileMap<u8> = TileMap::new(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_tilemap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `maxima_for_xy`, `maxima_and_height_for`, `find_xy`, `same_set`, and `same_set_xy` are never used
[INFO] [stdout]    --> src/disjoint_tile_set.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl DisjointTileSet<'_> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn maxima_for_xy(&mut self, xy: RoomXY) -> RoomXY {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn maxima_and_height_for(&mut self, index: u16) -> (RoomXY, u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn find_xy(&mut self, xy: RoomXY) -> RoomXY {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn same_set(&mut self, a: u16, b: u16) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn same_set_xy(&mut self, a: RoomXY, b: RoomXY) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_border_region_label_value` is never read
[INFO] [stdout]   --> src/region_analysis/structs.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RoomRegionAnalysis {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     next_border_region_label_value: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RoomRegionAnalysis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_height_for_xy` is never used
[INFO] [stdout]    --> src/region_analysis/structs.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl RoomRegionAnalysis {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn update_height_for_xy(&mut self, xy: &RoomXY, height: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_colors` is never read
[INFO] [stdout]   --> src/region_analysis/watershed.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RoomRegionWatershed {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     num_colors: ColorIdx,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/region_analysis/watershed.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl RoomRegionWatershed {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 29 |     fn new(heights: DistanceTransform, local_maximas: &[RoomXY], color_map: TileMap<Color>, num_colors: ColorIdx, borders: &[RoomXY], exi...
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/disjoint_tile_set.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(height_map: &DistanceTransform) -> DisjointTileSet {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(height_map: &DistanceTransform) -> DisjointTileSet<'_> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/region_analysis/watershed.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |     height_map: &DistanceTransform
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 263 | ) -> (impl Iterator<Item = RoomXY>, DisjointTileSet) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 263 | ) -> (impl Iterator<Item = RoomXY>, DisjointTileSet<'_>) {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/region_analysis/structs.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |         for (xy, idx) in all_room_xy_and_idx() {
[INFO] [stdout]    |                  ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_id`
[INFO] [stdout]   --> src/region_analysis/structs.rs:72:32
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 Color::Pending(color_id) => (), // Shouldn't exist, ignore for now
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/structs.rs:155:33
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     if let Some(mut edges_a) = graph.get_mut(label_a) {
[INFO] [stdout]     |                                 ----^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/structs.rs:158:33
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     if let Some(mut edges_b) = graph.get_mut(label_b) {
[INFO] [stdout]     |                                 ----^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:154:25
[INFO] [stdout]     |
[INFO] [stdout] 154 |     while let Some((xy, height)) = queue.pop() {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xy_height`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let xy_height = height_map.get(xy);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xy_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/watershed.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let mut group_tilemap: TileMap<u8> = TileMap::new(0);
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/watershed.rs:486:13
[INFO] [stdout]     |
[INFO] [stdout] 486 |         let mut current_group_members = group_members.entry(current_group_id).or_insert(HashSet::new());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/region_analysis/watershed.rs:494:13
[INFO] [stdout]     |
[INFO] [stdout] 494 |         let mut member_set = if has_neighbor_in_current_group {
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group_tilemap`
[INFO] [stdout]    --> src/region_analysis/watershed.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     let mut group_tilemap: TileMap<u8> = TileMap::new(0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_tilemap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `maxima_for_xy`, `find_xy`, and `same_set_xy` are never used
[INFO] [stdout]    --> src/disjoint_tile_set.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl DisjointTileSet<'_> {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn maxima_for_xy(&mut self, xy: RoomXY) -> RoomXY {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn find_xy(&mut self, xy: RoomXY) -> RoomXY {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn same_set_xy(&mut self, a: RoomXY, b: RoomXY) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_border_region_label_value` is never read
[INFO] [stdout]   --> src/region_analysis/structs.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct RoomRegionAnalysis {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     next_border_region_label_value: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RoomRegionAnalysis` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_height_for_xy` is never used
[INFO] [stdout]    --> src/region_analysis/structs.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl RoomRegionAnalysis {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn update_height_for_xy(&mut self, xy: &RoomXY, height: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_colors` is never read
[INFO] [stdout]   --> src/region_analysis/watershed.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RoomRegionWatershed {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     num_colors: ColorIdx,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/region_analysis/watershed.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl RoomRegionWatershed {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 29 |     fn new(heights: DistanceTransform, local_maximas: &[RoomXY], color_map: TileMap<Color>, num_colors: ColorIdx, borders: &[RoomXY], exi...
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/disjoint_tile_set.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(height_map: &DistanceTransform) -> DisjointTileSet {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(height_map: &DistanceTransform) -> DisjointTileSet<'_> {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/region_analysis/watershed.rs:262:17
[INFO] [stdout]     |
[INFO] [stdout] 262 |     height_map: &DistanceTransform
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 263 | ) -> (impl Iterator<Item = RoomXY>, DisjointTileSet) {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 263 | ) -> (impl Iterator<Item = RoomXY>, DisjointTileSet<'_>) {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.92
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 9`
[INFO] running `Command { std: "docker" "inspect" "eea02e6f39cfa4e4349e1751eb5a93084ef86e06174f1742063bb6f6fd52e6d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eea02e6f39cfa4e4349e1751eb5a93084ef86e06174f1742063bb6f6fd52e6d9", kill_on_drop: false }`
[INFO] [stdout] eea02e6f39cfa4e4349e1751eb5a93084ef86e06174f1742063bb6f6fd52e6d9
