[INFO] cloning repository https://github.com/aaronleopold/Rust-Text-Adventure-Game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aaronleopold/Rust-Text-Adventure-Game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronleopold%2FRust-Text-Adventure-Game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronleopold%2FRust-Text-Adventure-Game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f644c5cc571d81da6dad34253fb17709e00a3859
[INFO] checking aaronleopold/Rust-Text-Adventure-Game against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronleopold%2FRust-Text-Adventure-Game" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game
[INFO] finished tweaking git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game
[INFO] tweaked toml for git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking aaronleopold/Rust-Text-Adventure-Game against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaronleopold%2FRust-Text-Adventure-Game" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game
[INFO] finished tweaking git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game
[INFO] tweaked toml for git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aaronleopold/Rust-Text-Adventure-Game already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "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 ncurses v5.99.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d5efcebc7e095e749883ecbd6517e92321686816934e4e5731da2c52f258f73
[INFO] running `Command { std: "docker" "start" "-a" "9d5efcebc7e095e749883ecbd6517e92321686816934e4e5731da2c52f258f73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d5efcebc7e095e749883ecbd6517e92321686816934e4e5731da2c52f258f73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d5efcebc7e095e749883ecbd6517e92321686816934e4e5731da2c52f258f73", kill_on_drop: false }`
[INFO] [stdout] 9d5efcebc7e095e749883ecbd6517e92321686816934e4e5731da2c52f258f73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3bd580fe3f7bba158005f84ce45cfe082bf6437c0776c81090d2a627ffc260a
[INFO] running `Command { std: "docker" "start" "-a" "d3bd580fe3f7bba158005f84ce45cfe082bf6437c0776c81090d2a627ffc260a", kill_on_drop: false }`
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling cc v1.0.35
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling ncurses v5.99.0
[INFO] [stderr]     Checking console_rpg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::game_window::*`
[INFO] [stdout]  --> src/game_window/header.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game_window::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]  --> src/game_window/header.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use textwrap::fill;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]  --> src/game_window/main_window.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use textwrap::fill;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]  --> src/game_window/game.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use textwrap::fill;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/game_window/game.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::boxed::Box`
[INFO] [stdout]  --> src/interactables/room.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use textwrap::fill;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]   --> src/main.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{BufRead, BufReader};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `entities::*`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use entities::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interactables::*`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use interactables::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_window::*`
[INFO] [stdout]  --> src/game_window/header.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game_window::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]  --> src/game_window/header.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use textwrap::fill;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]  --> src/game_window/main_window.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use textwrap::fill;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]  --> src/game_window/game.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use textwrap::fill;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/game_window/game.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::boxed::Box`
[INFO] [stdout]  --> src/interactables/room.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `textwrap::fill`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use textwrap::fill;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]   --> src/main.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{BufRead, BufReader};
[INFO] [stdout]    |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `entities::*`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use entities::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interactables::*`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use interactables::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mhealth`
[INFO] [stdout]   --> src/entities/enemy.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(name: String, level: u8, mhealth: i8, chealth: i8) -> Self
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mhealth`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chealth`
[INFO] [stdout]   --> src/entities/enemy.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(name: String, level: u8, mhealth: i8, chealth: i8) -> Self
[INFO] [stdout]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chealth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mhealth`
[INFO] [stdout]   --> src/entities/enemy.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(name: String, level: u8, mhealth: i8, chealth: i8) -> Self
[INFO] [stdout]    |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mhealth`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chealth`
[INFO] [stdout]   --> src/entities/enemy.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn new(name: String, level: u8, mhealth: i8, chealth: i8) -> Self
[INFO] [stdout]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chealth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game_window/main_window.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut main_window = MainWindow {
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `playing`
[INFO] [stdout]   --> src/game_window/game.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut playing: bool = true;
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_playing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/game_window/game.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut x = 0;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/game_window/game.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut y = 0;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/game_window/game.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut input: String = String::new();
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game_window/game.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut playing: bool = true;
[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/game_window/game.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut x = 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/game_window/game.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut y = 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/game_window/game.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut input: String = String::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 for i in 0..npc_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 for i in 0..item_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 for i in 0..weapon_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weapon_name`
[INFO] [stdout]    --> src/game_window/game.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     let weapon_name: String = String::from(room_info[it + 1]);
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weapon_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weapon_damage`
[INFO] [stdout]    --> src/game_window/game.rs:143:25
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let weapon_damage: u8 = room_info[it + 2].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weapon_damage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 for i in 0..enemy_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_name`
[INFO] [stdout]    --> src/game_window/game.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     let enemy_name: String = String::from(room_info[it + 1]);
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_level`
[INFO] [stdout]    --> src/game_window/game.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let enemy_level: u8 = room_info[it + 2].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_mhealth`
[INFO] [stdout]    --> src/game_window/game.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     let enemy_mhealth: i8 = room_info[it + 3].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_mhealth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_chealth`
[INFO] [stdout]    --> src/game_window/game.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     let enemy_chealth: i8 = room_info[it + 4].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_chealth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `it` is never read
[INFO] [stdout]    --> src/game_window/game.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |             it += 1;
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game_window/main_window.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut main_window = MainWindow {
[INFO] [stdout]    |             ----^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `playing`
[INFO] [stdout]   --> src/game_window/game.rs:47:17
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut playing: bool = true;
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_playing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/game_window/game.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut x = 0;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/game_window/game.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut y = 0;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/game_window/game.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut input: String = String::new();
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game_window/game.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut playing: bool = true;
[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/game_window/game.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut x = 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/game_window/game.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut y = 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/game_window/game.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut input: String = String::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 for i in 0..npc_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game_window/game.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let mut split = line.split(":");
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 for i in 0..item_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 for i in 0..weapon_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weapon_name`
[INFO] [stdout]    --> src/game_window/game.rs:142:25
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     let weapon_name: String = String::from(room_info[it + 1]);
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weapon_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `weapon_damage`
[INFO] [stdout]    --> src/game_window/game.rs:143:25
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let weapon_damage: u8 = room_info[it + 2].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weapon_damage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game_window/game.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 for i in 0..enemy_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_name`
[INFO] [stdout]    --> src/game_window/game.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     let enemy_name: String = String::from(room_info[it + 1]);
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_level`
[INFO] [stdout]    --> src/game_window/game.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let enemy_level: u8 = room_info[it + 2].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_mhealth`
[INFO] [stdout]    --> src/game_window/game.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     let enemy_mhealth: i8 = room_info[it + 3].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_mhealth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_chealth`
[INFO] [stdout]    --> src/game_window/game.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     let enemy_chealth: i8 = room_info[it + 4].parse().unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_chealth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `it` is never read
[INFO] [stdout]    --> src/game_window/game.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |             it += 1;
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_window/game.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut room_weapons: Vec<Weapon> = Vec::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/game_window/game.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |             let mut room_enemies: Vec<Enemy> = Vec::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/game_window/game.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let mut new_room = Room::new(
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `message` is never read
[INFO] [stdout]    --> src/game_window/game.rs:247:21
[INFO] [stdout]     |
[INFO] [stdout] 247 |             let mut message = String::new();
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `message` is never read
[INFO] [stdout]    --> src/game_window/game.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut message = String::new();
[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/game_window/game.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let mut split = line.split(":");
[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/game_window/game.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             let mut room_weapons: Vec<Weapon> = Vec::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/game_window/game.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |             let mut room_enemies: Vec<Enemy> = Vec::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/game_window/game.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let mut new_room = Room::new(
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `message` is never read
[INFO] [stdout]    --> src/game_window/game.rs:247:21
[INFO] [stdout]     |
[INFO] [stdout] 247 |             let mut message = String::new();
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `message` is never read
[INFO] [stdout]    --> src/game_window/game.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut message = String::new();
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/interactables/room.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         for i in 0..(room.get_enemies().len()) {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interactables/room.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut ret = Item::clone(&self.items[index]);
[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/interactables/room.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut ret = Weapon::clone(&self.weapons[index]);
[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/interactables/room.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let mut graph = RoomGraph {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/interactables/room.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         for i in 0..(room.get_enemies().len()) {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interactables/inventory.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let mut note: Item = Item::new(String::from("strange note"), 
[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/interactables/room.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut ret = Item::clone(&self.items[index]);
[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/interactables/room.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         let mut ret = Weapon::clone(&self.weapons[index]);
[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/interactables/room.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |         let mut graph = RoomGraph {
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_curses` is never used
[INFO] [stdout]   --> src/main.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn init_curses()
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alive` and `is_fighting` are never read
[INFO] [stdout]   --> src/entities/player.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Player
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     alive: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     is_fighting: bool
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `take_damage`, `is_alive`, `is_fighting`, `set_fighting`, and `heal` are never used
[INFO] [stdout]    --> src/entities/player.rs:45:12
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl Player
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45  |     pub fn take_damage(&mut self, amount: i16) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn is_alive(&self) -> bool { self.alive }
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 133 |     pub fn is_fighting(&self) -> bool { self.is_fighting }
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 134 |     pub fn set_fighting(&mut self, fighting: bool) { self.is_fighting = fighting }
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn heal(&mut self, amount: i16) { self.curr_health += amount; }
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `level`, `max_health`, `curr_health`, and `alive` are never read
[INFO] [stdout]  --> src/entities/enemy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Enemy
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 2 | {
[INFO] [stdout] 3 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     level: u8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     max_health: i8,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     curr_health: i8,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 7 |     alive: bool,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `take_damage`, and `heal` are never used
[INFO] [stdout]   --> src/entities/enemy.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Enemy
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 | {
[INFO] [stdout] 12 |     fn new(name: String, level: u8, mhealth: i8, chealth: i8) -> Self
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn take_damage(&mut self, amount: i8) -> bool
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn heal(&mut self, amount: i8) { self.curr_health += amount; }
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bar_max_y` is never read
[INFO] [stdout]   --> src/game_window/header.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Header
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     bar_max_y: i32
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_y` is never read
[INFO] [stdout]   --> src/game_window/main_window.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct MainWindow
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     max_y: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_max_y` is never used
[INFO] [stdout]   --> src/game_window/main_window.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MainWindow
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_max_y(&self) -> i32 { self.max_y }
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `interpret_input_fight` and `combat_state` are never used
[INFO] [stdout]    --> src/game_window/game.rs:490:12
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl Game
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 490 |     pub fn interpret_input_fight(&mut self)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     pub fn combat_state(&mut self) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/interactables/room.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RoomGraph
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     size: u32
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `npc_is_nice` is never used
[INFO] [stdout]    --> src/interactables/room.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl Room
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn npc_is_nice(&self, name: String) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_graph` is never used
[INFO] [stdout]    --> src/interactables/room.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl RoomGraph
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn get_graph(&self) -> &HashMap<i32, Room> { &self.graph }
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_status` is never used
[INFO] [stdout]   --> src/interactables/item.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Item 
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn set_status(&mut self, new_status: bool) { self.used = new_status}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_weapons` is never used
[INFO] [stdout]   --> src/interactables/inventory.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Inventory
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_weapons(&self) -> &Vec<Weapon> { &self.weapons }
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/interactables/weapon.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Weapon
[INFO] [stdout]   | ----------- associated function in this implementation
[INFO] [stdout] 8 | {
[INFO] [stdout] 9 |     pub fn new(name: String, damage: u8) -> Self
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interactables/inventory.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let mut note: Item = Item::new(String::from("strange note"), 
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_curses` is never used
[INFO] [stdout]   --> src/main.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn init_curses()
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `alive` and `is_fighting` are never read
[INFO] [stdout]   --> src/entities/player.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Player
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     alive: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     is_fighting: bool
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `take_damage`, `is_alive`, `is_fighting`, `set_fighting`, and `heal` are never used
[INFO] [stdout]    --> src/entities/player.rs:45:12
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl Player
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45  |     pub fn take_damage(&mut self, amount: i16) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn is_alive(&self) -> bool { self.alive }
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 133 |     pub fn is_fighting(&self) -> bool { self.is_fighting }
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 134 |     pub fn set_fighting(&mut self, fighting: bool) { self.is_fighting = fighting }
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn heal(&mut self, amount: i16) { self.curr_health += amount; }
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `level`, `max_health`, `curr_health`, and `alive` are never read
[INFO] [stdout]  --> src/entities/enemy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Enemy
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 2 | {
[INFO] [stdout] 3 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 4 |     level: u8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 5 |     max_health: i8,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 6 |     curr_health: i8,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 7 |     alive: bool,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `take_damage`, and `heal` are never used
[INFO] [stdout]   --> src/entities/enemy.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Enemy
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 | {
[INFO] [stdout] 12 |     fn new(name: String, level: u8, mhealth: i8, chealth: i8) -> Self
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn take_damage(&mut self, amount: i8) -> bool
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn heal(&mut self, amount: i8) { self.curr_health += amount; }
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bar_max_y` is never read
[INFO] [stdout]   --> src/game_window/header.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Header
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     bar_max_y: i32
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_y` is never read
[INFO] [stdout]   --> src/game_window/main_window.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct MainWindow
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     max_y: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_max_y` is never used
[INFO] [stdout]   --> src/game_window/main_window.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MainWindow
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_max_y(&self) -> i32 { self.max_y }
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `interpret_input_fight` and `combat_state` are never used
[INFO] [stdout]    --> src/game_window/game.rs:490:12
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl Game
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 490 |     pub fn interpret_input_fight(&mut self)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     pub fn combat_state(&mut self) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/interactables/room.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RoomGraph
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     size: u32
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `npc_is_nice` is never used
[INFO] [stdout]    --> src/interactables/room.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 31  | impl Room
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn npc_is_nice(&self, name: String) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_graph` is never used
[INFO] [stdout]    --> src/interactables/room.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl RoomGraph
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn get_graph(&self) -> &HashMap<i32, Room> { &self.graph }
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_status` is never used
[INFO] [stdout]   --> src/interactables/item.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Item 
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn set_status(&mut self, new_status: bool) { self.used = new_status}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_weapons` is never used
[INFO] [stdout]   --> src/interactables/inventory.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Inventory
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_weapons(&self) -> &Vec<Weapon> { &self.weapons }
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/interactables/weapon.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Weapon
[INFO] [stdout]   | ----------- associated function in this implementation
[INFO] [stdout] 8 | {
[INFO] [stdout] 9 |     pub fn new(name: String, damage: u8) -> Self
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.39s
[INFO] running `Command { std: "docker" "inspect" "d3bd580fe3f7bba158005f84ce45cfe082bf6437c0776c81090d2a627ffc260a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3bd580fe3f7bba158005f84ce45cfe082bf6437c0776c81090d2a627ffc260a", kill_on_drop: false }`
[INFO] [stdout] d3bd580fe3f7bba158005f84ce45cfe082bf6437c0776c81090d2a627ffc260a
