[INFO] cloning repository https://github.com/Kukl0fy/rust_project
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kukl0fy/rust_project" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKukl0fy%2Frust_project", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKukl0fy%2Frust_project'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a5d5312b76d6b816190932a7693034b305aa22fb
[INFO] checking Kukl0fy/rust_project against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKukl0fy%2Frust_project" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Kukl0fy/rust_project
[INFO] finished tweaking git repo https://github.com/Kukl0fy/rust_project
[INFO] tweaked toml for git repo https://github.com/Kukl0fy/rust_project written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Kukl0fy/rust_project on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Kukl0fy/rust_project 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quad-snd v0.2.8
[INFO] [stderr]   Downloaded minimp3 v0.5.2
[INFO] [stderr]   Downloaded slice-ring-buffer v0.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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] 913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3
[INFO] running `Command { std: "docker" "start" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3", 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" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3", 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" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling quad-alsa-sys v0.3.2
[INFO] [stderr]     Checking ogg v0.7.1
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking log v0.4.30
[INFO] [stderr]    Compiling quad-snd v0.2.8
[INFO] [stderr]     Checking hound v3.5.1
[INFO] [stderr]    Compiling miniquad v0.4.10
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking quad-rand v0.2.3
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]     Checking lewton v0.9.4
[INFO] [stderr]     Checking dasp_frame v0.11.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking audrey v0.3.0
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking fontdue v0.9.3
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]     Checking slice-ring-buffer v0.3.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking macroquad v0.4.15
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking minimp3 v0.5.2
[INFO] [stderr]     Checking projekt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `Exit` is never constructed
[INFO] [stdout]  --> src/game/map.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Tile {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Exit,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Object` is never used
[INFO] [stdout]  --> src/game/object.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Object {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_player` is never used
[INFO] [stdout]   --> src/game/player.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Player {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn move_player(&mut self, dir: Direction) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `overlaps_with_margin` is never used
[INFO] [stdout]   --> src/game/room.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Room {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn overlaps_with_margin(&self, other: &Room) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_player_turn` is never read
[INFO] [stdout]   --> src/game/state.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Combat {
[INFO] [stdout]    |     ------ field in this variant
[INFO] [stdout] 18 |         monster_index: usize,
[INFO] [stdout] 19 |         is_player_turn: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mode`, `object_at`, and `char_at` are never used
[INFO] [stdout]    --> src/game/state.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl State {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn mode(&self) -> &GameMode {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn object_at(&self, pos: Position) -> Option<Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn char_at(&self, pos: Position) -> char {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputAction` is never used
[INFO] [stdout]  --> src/game/input.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum InputAction{
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_input` is never used
[INFO] [stdout]   --> src/game/input.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn read_input() -> std::io::Result<InputAction> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mage` and `Tank` are never constructed
[INFO] [stdout]  --> src/game/character_class.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum CharacterClass {
[INFO] [stdout]   |          -------------- variants in this enum
[INFO] [stdout] 5 |     Warrior,
[INFO] [stdout] 6 |     Mage,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Tank,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CharacterClass` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `description` is never used
[INFO] [stdout]   --> src/game/chest.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ItemEffect {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn description(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `item` is never used
[INFO] [stdout]    --> src/game/chest.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl Chest {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn item(&self) -> &ChestItem {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `monsters`, `chests`, and `into_monsters` are never used
[INFO] [stdout]   --> src/game/entity_generator.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Entities {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 45 |     pub fn monsters(&self) -> &[Monster] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn chests(&self) -> &[Chest] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn into_monsters(self) -> Vec<Monster> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map`, `monsters`, and `chests` are never used
[INFO] [stdout]   --> src/game/level_generator.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Level {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 25 |     pub fn map(&self) -> &Map {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn monsters(&self) -> &[Monster] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn chests(&self) -> &[Chest] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GameOver` is never constructed
[INFO] [stdout]    --> src/gui/hud.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum MenuState {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 115 |     GameOver,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MenuState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_E_TOP` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const WALL_E_TOP: TileCoord = TileCoord::new(5, 0);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_E` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const WALL_E: TileCoord = TileCoord::new(5, 1);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_E_BOT` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const WALL_E_BOT: TileCoord = TileCoord::new(5, 3);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tile_for` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn tile_for(map: &Map, pos: Position) -> TileCoord {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `same_east_wall` is never used
[INFO] [stdout]    --> src/gui/sprite_map.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn same_east_wall(map: &Map, pos: Position, dx: i32, dy: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalGuard` is never constructed
[INFO] [stdout]   --> src/terminal.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TerminalGuard;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/terminal.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl TerminalGuard {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new() -> std::io::Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATUS_LINES` is never used
[INFO] [stdout]   --> src/ui/render.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const STATUS_LINES: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> src/ui/render.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct View {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `render`, `camera_offset`, and `build_status_lines` are never used
[INFO] [stdout]    --> src/ui/render.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl View {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub fn render(&mut self, state: &State) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn camera_offset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn build_status_lines(&self, state: &State, width: usize) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exit` is never constructed
[INFO] [stdout]  --> src/game/map.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Tile {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 8 |     Exit,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Tile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Object` is never used
[INFO] [stdout]  --> src/game/object.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Object {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_player` is never used
[INFO] [stdout]   --> src/game/player.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Player {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn move_player(&mut self, dir: Direction) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `overlaps_with_margin` is never used
[INFO] [stdout]   --> src/game/room.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Room {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn overlaps_with_margin(&self, other: &Room) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_player_turn` is never read
[INFO] [stdout]   --> src/game/state.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Combat {
[INFO] [stdout]    |     ------ field in this variant
[INFO] [stdout] 18 |         monster_index: usize,
[INFO] [stdout] 19 |         is_player_turn: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mode`, `object_at`, and `char_at` are never used
[INFO] [stdout]    --> src/game/state.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl State {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn mode(&self) -> &GameMode {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn object_at(&self, pos: Position) -> Option<Object> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn char_at(&self, pos: Position) -> char {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InputAction` is never used
[INFO] [stdout]  --> src/game/input.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum InputAction{
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_input` is never used
[INFO] [stdout]   --> src/game/input.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn read_input() -> std::io::Result<InputAction> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mage` and `Tank` are never constructed
[INFO] [stdout]  --> src/game/character_class.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum CharacterClass {
[INFO] [stdout]   |          -------------- variants in this enum
[INFO] [stdout] 5 |     Warrior,
[INFO] [stdout] 6 |     Mage,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Tank,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CharacterClass` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `description` is never used
[INFO] [stdout]   --> src/game/chest.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ItemEffect {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn description(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `item` is never used
[INFO] [stdout]    --> src/game/chest.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl Chest {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn item(&self) -> &ChestItem {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `chests` and `into_monsters` are never used
[INFO] [stdout]   --> src/game/entity_generator.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Entities {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn chests(&self) -> &[Chest] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn into_monsters(self) -> Vec<Monster> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `map`, `monsters`, and `chests` are never used
[INFO] [stdout]   --> src/game/level_generator.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Level {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 25 |     pub fn map(&self) -> &Map {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn monsters(&self) -> &[Monster] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn chests(&self) -> &[Chest] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GameOver` is never constructed
[INFO] [stdout]    --> src/gui/hud.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum MenuState {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 115 |     GameOver,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MenuState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_E_TOP` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const WALL_E_TOP: TileCoord = TileCoord::new(5, 0);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_E` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const WALL_E: TileCoord = TileCoord::new(5, 1);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WALL_E_BOT` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const WALL_E_BOT: TileCoord = TileCoord::new(5, 3);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tile_for` is never used
[INFO] [stdout]   --> src/gui/sprite_map.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn tile_for(map: &Map, pos: Position) -> TileCoord {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `same_east_wall` is never used
[INFO] [stdout]    --> src/gui/sprite_map.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn same_east_wall(map: &Map, pos: Position, dx: i32, dy: i32) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalGuard` is never constructed
[INFO] [stdout]   --> src/terminal.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TerminalGuard;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/terminal.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl TerminalGuard {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 15 |     pub fn new() -> std::io::Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STATUS_LINES` is never used
[INFO] [stdout]   --> src/ui/render.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const STATUS_LINES: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> src/ui/render.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct View {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `render`, `camera_offset`, and `build_status_lines` are never used
[INFO] [stdout]    --> src/ui/render.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl View {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout]  21 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub fn render(&mut self, state: &State) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn camera_offset(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn build_status_lines(&self, state: &State, width: usize) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.56s
[INFO] running `Command { std: "docker" "inspect" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3", kill_on_drop: false }`
[INFO] [stdout] 913f4c251bf210601b5751247c00d17a434e623f714c57d455c53b8d6754bfb3
