[INFO] cloning repository https://github.com/jossse69/tomb-of-the-moon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jossse69/tomb-of-the-moon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjossse69%2Ftomb-of-the-moon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjossse69%2Ftomb-of-the-moon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f99ac91b64c2511b6a60c52ca572f4eb9711a16f
[INFO] checking jossse69/tomb-of-the-moon against 49a6044d37d694890450f52ceaceb66277a36b1e for pr-161154
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjossse69%2Ftomb-of-the-moon" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jossse69/tomb-of-the-moon
[INFO] finished tweaking git repo https://github.com/jossse69/tomb-of-the-moon
[INFO] tweaked toml for git repo https://github.com/jossse69/tomb-of-the-moon written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jossse69/tomb-of-the-moon on toolchain 49a6044d37d694890450f52ceaceb66277a36b1e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jossse69/tomb-of-the-moon 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" "+49a6044d37d694890450f52ceaceb66277a36b1e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nougat v0.2.4
[INFO] [stderr]   Downloaded tuple_utils v0.4.0
[INFO] [stderr]   Downloaded atomic_refcell v0.1.13
[INFO] [stderr]   Downloaded specs v0.20.0
[INFO] [stderr]   Downloaded shred v0.15.0
[INFO] [stderr]   Downloaded macro_rules_attribute-proc_macro v0.1.3
[INFO] [stderr]   Downloaded nougat-proc_macros v0.2.4
[INFO] [stderr]   Downloaded macro_rules_attribute v0.1.3
[INFO] [stderr]   Downloaded crossfont v0.5.2
[INFO] [stderr]   Downloaded core-text v20.1.0
[INFO] [stderr]   Downloaded png v0.17.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993
[INFO] running `Command { std: "docker" "start" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling pkg-config v0.3.29
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling thiserror v1.0.57
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking foreign-types-shared v0.3.1
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]     Checking safe_arch v0.5.2
[INFO] [stderr]     Checking tiny-skia-path v0.7.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling crossfont v0.5.2
[INFO] [stderr]     Checking png v0.17.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking wide v0.7.15
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.1.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]     Checking macro_rules_attribute v0.1.3
[INFO] [stderr]     Checking atomic_refcell v0.1.13
[INFO] [stderr]     Checking glow v0.11.2
[INFO] [stderr]    Compiling serde_json v1.0.113
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking tiny-skia v0.7.0
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking ultraviolet v0.9.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rayon v1.8.1
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking bracket-embedding v0.8.7
[INFO] [stderr]     Checking object-pool v0.5.4
[INFO] [stderr]     Checking image v0.24.8
[INFO] [stderr]     Checking tynm v0.1.9
[INFO] [stderr]     Checking crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]     Checking tuple_utils v0.4.0
[INFO] [stderr]     Checking shrev v1.1.3
[INFO] [stderr]     Checking ryu v1.0.16
[INFO] [stderr]     Checking freetype-rs v0.26.0
[INFO] [stderr]     Checking servo-fontconfig v0.5.1
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking wayland-egl v0.29.5
[INFO] [stderr]    Compiling nougat-proc_macros v0.2.4
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]     Checking shred v0.15.0
[INFO] [stderr]     Checking hibitset v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling foreign-types-macros v0.2.3
[INFO] [stderr]     Checking nougat v0.2.4
[INFO] [stderr]     Checking foreign-types v0.5.0
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking bracket-geometry v0.8.7
[INFO] [stderr]     Checking bracket-color v0.8.7
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking specs v0.20.0
[INFO] [stderr]     Checking bracket-random v0.8.7
[INFO] [stderr]     Checking bracket-noise v0.8.7
[INFO] [stderr]     Checking bracket-algorithm-traits v0.8.7
[INFO] [stderr]     Checking bracket-pathfinding v0.8.7
[INFO] [stderr]     Checking bracket-rex v0.8.7
[INFO] [stderr]     Checking sctk-adwaita v0.4.3
[INFO] [stderr]     Checking winit v0.27.5
[INFO] [stderr]     Checking glutin v0.29.1
[INFO] [stderr]     Checking bracket-terminal v0.8.7
[INFO] [stderr]     Checking bracket-lib v0.8.7
[INFO] [stderr]     Checking tomb_of_the_moon v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `console`
[INFO] [stdout]  --> src/monster_ai_system.rs:1:58
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bracket_lib::{pathfinding::a_star_search, terminal::{console, DistanceAlg, Point}};
[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: `Name`
[INFO] [stdout]  --> src/monster_ai_system.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{components::{Confusion, Monster, Name, Position, Viewshed, WantsToMelee}, map::Map, RunState};
[INFO] [stdout]   |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]  --> src/player.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bracket_lib::{prelude::*, random};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `monster_ai_system`, `self`, and `visibility_system`
[INFO] [stdout]  --> src/player.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...::{self, CombatStats, Item, Monster, Player, Position, Viewshed, WantsToMelee, WantsToPickupItem}, gamelog::GameLog, map::{self, Map, TileType}, monster_ai_system, visibility_system, R...
[INFO] [stdout]   |       ^^^^                                                                                                                                          ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLACK`, `RED`, `console`, and `to_cp437`
[INFO] [stdout]  --> src/damage_system.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bracket_lib::terminal::{console, to_cp437, BLACK, RED};
[INFO] [stdout]   |                             ^^^^^^^  ^^^^^^^^  ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Renderable`
[INFO] [stdout]  --> src/damage_system.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{components::{Name, Player, Position, Renderable}, gamelog::GameLog, RunState};
[INFO] [stdout]   |                                        ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bracket_lib::terminal::console`
[INFO] [stdout]  --> src/melee_combat_system.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bracket_lib::terminal::console;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAGENTA`
[INFO] [stdout]  --> src/gui.rs:3:151
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... Point, Rect, VirtualKeyCode, BLACK, BLUE, CYAN, GRAY, GREY, MAGENTA, RED, RGB, WHITE, YELLOW};
[INFO] [stdout]   |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rect`
[INFO] [stdout]  --> src/gui.rs:5:124
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{components::{CombatStats, Equipped, InBackpack, Name, Player, Position, Viewshed}, gamelog::GameLog, map::Map, rect, RunS...
[INFO] [stdout]   |                                                                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::saveload_system::does_save_exist`
[INFO] [stdout]  --> src/gui.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::saveload_system::does_save_exist;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/gui.rs:15:48
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn draw_ui(ecs: &World, ctx : &mut BTerm) {;
[INFO] [stdout]    |                                                ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gui.rs:251:16
[INFO] [stdout]     |
[INFO] [stdout] 251 |             if (!save_exists) {
[INFO] [stdout]     |                ^            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 251 -             if (!save_exists) {
[INFO] [stdout] 251 +             if !save_exists {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Potion`
[INFO] [stdout]  --> src/spawner.rs:5:201
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...mage, Item, MeleePowerBonus, Monster, Name, Player, Position, Potion, ProvidesHealing, Ranged, Renderable, SerializeMe, Viewshed},...
[INFO] [stdout]   |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Potion`
[INFO] [stdout]  --> src/inventory_system.rs:4:114
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{components::{AreaOfEffect, CombatStats, Confusion, Consumable, Equippable, Equipped, InflictsDamage, Potion, ProvidesHeal...
[INFO] [stdout]   |                                                                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/inventory_system.rs:117:36
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...                   if (healer.heal_amount > 0) {
[INFO] [stdout]     |                          ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                                 if (healer.heal_amount > 0) {
[INFO] [stdout] 117 +                                 if healer.heal_amount > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/inventory_system.rs:139:32
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   if (damage.damage > 0)
[INFO] [stdout]     |                          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -                             if (damage.damage > 0)
[INFO] [stdout] 139 +                             if damage.damage > 0
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/inventory_system.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 | ...                   if (confusion.turns > 0)
[INFO] [stdout]     |                          ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 164 -                                 if (confusion.turns > 0)
[INFO] [stdout] 164 +                                 if confusion.turns > 0
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]   --> src/main.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 | use bracket_lib::{geometry, prelude::*, random};
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]   --> src/main.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::cmp::{max, min};
[INFO] [stdout]    |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs_derive::Component`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use specs_derive::Component;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `try_move_player`
[INFO] [stdout]   --> src/main.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 | use player::{player_input, try_move_player};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `console`
[INFO] [stdout]  --> src/monster_ai_system.rs:1:58
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bracket_lib::{pathfinding::a_star_search, terminal::{console, DistanceAlg, Point}};
[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: `Name`
[INFO] [stdout]  --> src/monster_ai_system.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{components::{Confusion, Monster, Name, Position, Viewshed, WantsToMelee}, map::Map, RunState};
[INFO] [stdout]   |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]  --> src/player.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bracket_lib::{prelude::*, random};
[INFO] [stdout]   |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `monster_ai_system`, `self`, and `visibility_system`
[INFO] [stdout]  --> src/player.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...::{self, CombatStats, Item, Monster, Player, Position, Viewshed, WantsToMelee, WantsToPickupItem}, gamelog::GameLog, map::{self, Map, TileType}, monster_ai_system, visibility_system, R...
[INFO] [stdout]   |       ^^^^                                                                                                                                          ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLACK`, `RED`, `console`, and `to_cp437`
[INFO] [stdout]  --> src/damage_system.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bracket_lib::terminal::{console, to_cp437, BLACK, RED};
[INFO] [stdout]   |                             ^^^^^^^  ^^^^^^^^  ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Renderable`
[INFO] [stdout]  --> src/damage_system.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{components::{Name, Player, Position, Renderable}, gamelog::GameLog, RunState};
[INFO] [stdout]   |                                        ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bracket_lib::terminal::console`
[INFO] [stdout]  --> src/melee_combat_system.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bracket_lib::terminal::console;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MAGENTA`
[INFO] [stdout]  --> src/gui.rs:3:151
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... Point, Rect, VirtualKeyCode, BLACK, BLUE, CYAN, GRAY, GREY, MAGENTA, RED, RGB, WHITE, YELLOW};
[INFO] [stdout]   |                                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rect`
[INFO] [stdout]  --> src/gui.rs:5:124
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{components::{CombatStats, Equipped, InBackpack, Name, Player, Position, Viewshed}, gamelog::GameLog, map::Map, rect, RunS...
[INFO] [stdout]   |                                                                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::saveload_system::does_save_exist`
[INFO] [stdout]  --> src/gui.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::saveload_system::does_save_exist;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/gui.rs:15:48
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn draw_ui(ecs: &World, ctx : &mut BTerm) {;
[INFO] [stdout]    |                                                ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/gui.rs:251:16
[INFO] [stdout]     |
[INFO] [stdout] 251 |             if (!save_exists) {
[INFO] [stdout]     |                ^            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 251 -             if (!save_exists) {
[INFO] [stdout] 251 +             if !save_exists {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Potion`
[INFO] [stdout]  --> src/spawner.rs:5:201
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...mage, Item, MeleePowerBonus, Monster, Name, Player, Position, Potion, ProvidesHealing, Ranged, Renderable, SerializeMe, Viewshed},...
[INFO] [stdout]   |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Potion`
[INFO] [stdout]  --> src/inventory_system.rs:4:114
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{components::{AreaOfEffect, CombatStats, Confusion, Consumable, Equippable, Equipped, InflictsDamage, Potion, ProvidesHeal...
[INFO] [stdout]   |                                                                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/inventory_system.rs:117:36
[INFO] [stdout]     |
[INFO] [stdout] 117 | ...                   if (healer.heal_amount > 0) {
[INFO] [stdout]     |                          ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                                 if (healer.heal_amount > 0) {
[INFO] [stdout] 117 +                                 if healer.heal_amount > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/inventory_system.rs:139:32
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   if (damage.damage > 0)
[INFO] [stdout]     |                          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -                             if (damage.damage > 0)
[INFO] [stdout] 139 +                             if damage.damage > 0
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/inventory_system.rs:164:36
[INFO] [stdout]     |
[INFO] [stdout] 164 | ...                   if (confusion.turns > 0)
[INFO] [stdout]     |                          ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 164 -                                 if (confusion.turns > 0)
[INFO] [stdout] 164 +                                 if confusion.turns > 0
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random`
[INFO] [stdout]   --> src/main.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 | use bracket_lib::{geometry, prelude::*, random};
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `max` and `min`
[INFO] [stdout]   --> src/main.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::cmp::{max, min};
[INFO] [stdout]    |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs_derive::Component`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use specs_derive::Component;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `try_move_player`
[INFO] [stdout]   --> src/main.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 | use player::{player_input, try_move_player};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]  --> src/components.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use specs::error::NoError;
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]  --> src/saveload_system.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use specs::error::NoError;
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]   --> src/saveload_system.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |           SerializeComponents::<NoError, SimpleMarker<SerializeMe>>::serialize(
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 | /         serialize_individually!(ecs, serializer, data, Position, Renderable, Player, Viewshed, Monster,
[INFO] [stdout] 41 | |             Name, BlocksTile, CombatStats, SufferDamage, WantsToMelee, Item, Consumable, Ranged, InflictsDamage,
[INFO] [stdout] 42 | |             AreaOfEffect, Confusion, ProvidesHealing, InBackpack, WantsToPickupItem, WantsToUseItem,
[INFO] [stdout] 43 | |             WantsToDropItem, SerializationHelper, Equippable, Equipped, MeleePowerBonus, DefenseBonus, WantsToRemoveItem
[INFO] [stdout] 44 | |         );
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `serialize_individually` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]   --> src/saveload_system.rs:63:33
[INFO] [stdout]    |
[INFO] [stdout] 63 |           DeserializeComponents::<NoError, _>::deserialize(
[INFO] [stdout]    |                                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 | /         deserialize_individually!(ecs, de, d, Position, Renderable, Player, Viewshed, Monster, 
[INFO] [stdout] 94 | |             Name, BlocksTile, CombatStats, SufferDamage, WantsToMelee, Item, Consumable, Ranged, InflictsDamage, 
[INFO] [stdout] 95 | |             AreaOfEffect, Confusion, ProvidesHealing, InBackpack, WantsToPickupItem, WantsToUseItem,
[INFO] [stdout] 96 | |             WantsToDropItem, SerializationHelper, Equippable, Equipped, MeleePowerBonus, DefenseBonus,  WantsToRemoveItem
[INFO] [stdout] 97 | |         );
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `deserialize_individually` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]  --> src/components.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | use specs::error::NoError;
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]  --> src/saveload_system.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use specs::error::NoError;
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]   --> src/saveload_system.rs:13:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |           SerializeComponents::<NoError, SimpleMarker<SerializeMe>>::serialize(
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 | /         serialize_individually!(ecs, serializer, data, Position, Renderable, Player, Viewshed, Monster,
[INFO] [stdout] 41 | |             Name, BlocksTile, CombatStats, SufferDamage, WantsToMelee, Item, Consumable, Ranged, InflictsDamage,
[INFO] [stdout] 42 | |             AreaOfEffect, Confusion, ProvidesHealing, InBackpack, WantsToPickupItem, WantsToUseItem,
[INFO] [stdout] 43 | |             WantsToDropItem, SerializationHelper, Equippable, Equipped, MeleePowerBonus, DefenseBonus, WantsToRemoveItem
[INFO] [stdout] 44 | |         );
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `serialize_individually` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `specs::error::NoError`: Use std::convert::Infallible instead
[INFO] [stdout]   --> src/saveload_system.rs:63:33
[INFO] [stdout]    |
[INFO] [stdout] 63 |           DeserializeComponents::<NoError, _>::deserialize(
[INFO] [stdout]    |                                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 | /         deserialize_individually!(ecs, de, d, Position, Renderable, Player, Viewshed, Monster, 
[INFO] [stdout] 94 | |             Name, BlocksTile, CombatStats, SufferDamage, WantsToMelee, Item, Consumable, Ranged, InflictsDamage, 
[INFO] [stdout] 95 | |             AreaOfEffect, Confusion, ProvidesHealing, InBackpack, WantsToPickupItem, WantsToUseItem,
[INFO] [stdout] 96 | |             WantsToDropItem, SerializationHelper, Equippable, Equipped, MeleePowerBonus, DefenseBonus,  WantsToRemoveItem
[INFO] [stdout] 97 | |         );
[INFO] [stdout]    | |_________- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `deserialize_individually` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParJoin`
[INFO] [stdout]  --> src/inventory_system.rs:2:76
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{storage::GenericReadStorage, Entities, Entity, Join, LendJoin, ParJoin, ReadExpect, ReadStorage, System, WriteExpect, Wri...
[INFO] [stdout]   |                                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LendJoin`
[INFO] [stdout]  --> src/inventory_system.rs:2:66
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{storage::GenericReadStorage, Entities, Entity, Join, LendJoin, ParJoin, ReadExpect, ReadStorage, System, WriteExpect, Wri...
[INFO] [stdout]   |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `storage::GenericReadStorage`
[INFO] [stdout]  --> src/inventory_system.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{storage::GenericReadStorage, Entities, Entity, Join, LendJoin, ParJoin, ReadExpect, ReadStorage, System, WriteExpect, Wri...
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParJoin`
[INFO] [stdout]  --> src/inventory_system.rs:2:76
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{storage::GenericReadStorage, Entities, Entity, Join, LendJoin, ParJoin, ReadExpect, ReadStorage, System, WriteExpect, Wri...
[INFO] [stdout]   |                                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LendJoin`
[INFO] [stdout]  --> src/inventory_system.rs:2:66
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{storage::GenericReadStorage, Entities, Entity, Join, LendJoin, ParJoin, ReadExpect, ReadStorage, System, WriteExpect, Wri...
[INFO] [stdout]   |                                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `storage::GenericReadStorage`
[INFO] [stdout]  --> src/inventory_system.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{storage::GenericReadStorage, Entities, Entity, Join, LendJoin, ParJoin, ReadExpect, ReadStorage, System, WriteExpect, Wri...
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/map.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for i in 0..MAX_ROOMS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/monster_ai_system.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for (entity, mut viewshed,_monster,mut pos) in (&entities, &mut viewshed, &monster, &mut position).join() {
[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/monster_ai_system.rs:26:44
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for (entity, mut viewshed,_monster,mut pos) in (&entities, &mut viewshed, &monster, &mut position).join() {
[INFO] [stdout]    |                                            ----^^^
[INFO] [stdout]    |                                            |
[INFO] [stdout]    |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/map.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for i in 0..MAX_ROOMS {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/player.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut players = ecs.write_storage::<Player>();
[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/damage_system.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (mut stats, damage) in (&mut stats, &damage).join() {
[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/monster_ai_system.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for (entity, mut viewshed,_monster,mut pos) in (&entities, &mut viewshed, &monster, &mut position).join() {
[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/monster_ai_system.rs:26:44
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for (entity, mut viewshed,_monster,mut pos) in (&entities, &mut viewshed, &monster, &mut position).join() {
[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/player.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut players = ecs.write_storage::<Player>();
[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/damage_system.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |         for (mut stats, damage) in (&mut stats, &damage).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `used_item` is assigned to, but never used
[INFO] [stdout]   --> src/inventory_system.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut used_item = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_used_item` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `used_item` is never read
[INFO] [stdout]    --> src/inventory_system.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     used_item = false;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 157 |                         used_item = false;
[INFO] [stdout]     |                         ----------------- `used_item` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `used_item` is never read
[INFO] [stdout]    --> src/inventory_system.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         used_item = true;
[INFO] [stdout]     |                         ---------------- `used_item` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 157 |                         used_item = false;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `used_item` is never read
[INFO] [stdout]    --> src/inventory_system.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         used_item = true;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `used_item` is assigned to, but never used
[INFO] [stdout]   --> src/inventory_system.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut used_item = false;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_used_item` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `used_item` is never read
[INFO] [stdout]    --> src/inventory_system.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     used_item = false;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 157 |                         used_item = false;
[INFO] [stdout]     |                         ----------------- `used_item` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `used_item` is never read
[INFO] [stdout]    --> src/inventory_system.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         used_item = true;
[INFO] [stdout]     |                         ---------------- `used_item` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 157 |                         used_item = false;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `used_item` is never read
[INFO] [stdout]    --> src/inventory_system.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         used_item = true;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout] 385 |     let mut context = BTermBuilder::new()
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ITEMS` is never used
[INFO] [stdout]  --> src/spawner.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const MAX_ITEMS : i32 = 2;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_monster` is never used
[INFO] [stdout]   --> src/spawner.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn random_monster(ecs: &mut World, x: i32, y: i32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_item` is never used
[INFO] [stdout]    --> src/spawner.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn random_item(ecs: &mut World, x: i32, y: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout] 385 |     let mut context = BTermBuilder::new()
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ITEMS` is never used
[INFO] [stdout]  --> src/spawner.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const MAX_ITEMS : i32 = 2;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_monster` is never used
[INFO] [stdout]   --> src/spawner.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn random_monster(ecs: &mut World, x: i32, y: i32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_item` is never used
[INFO] [stdout]    --> src/spawner.rs:110:4
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn random_item(ecs: &mut World, x: i32, y: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.13s
[INFO] running `Command { std: "docker" "inspect" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993", kill_on_drop: false }`
[INFO] [stdout] d2a45c6eef9961a51e25d0f40a0ae75464ce75d99efb009be4f41055c05e3993
