[INFO] cloning repository https://github.com/daffyd-jones/rust_dungeon [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/daffyd-jones/rust_dungeon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaffyd-jones%2Frust_dungeon", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaffyd-jones%2Frust_dungeon'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 97c4847369793caf29395baad9070c0a7983d7e0 [INFO] checking daffyd-jones/rust_dungeon against master#2c0f4860cc86e2354a55ea04e738848168435c90 for pr-149145 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaffyd-jones%2Frust_dungeon" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/daffyd-jones/rust_dungeon [INFO] finished tweaking git repo https://github.com/daffyd-jones/rust_dungeon [INFO] tweaked toml for git repo https://github.com/daffyd-jones/rust_dungeon written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/daffyd-jones/rust_dungeon on toolchain 2c0f4860cc86e2354a55ea04e738848168435c90 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2c0f4860cc86e2354a55ea04e738848168435c90" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/daffyd-jones/rust_dungeon 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" "+2c0f4860cc86e2354a55ea04e738848168435c90" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-truncate v1.0.0 [INFO] [stderr] Downloaded strum_macros v0.26.3 [INFO] [stderr] Downloaded instability v0.3.2 [INFO] [stderr] Downloaded ratatui v0.28.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+2c0f4860cc86e2354a55ea04e738848168435c90" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 190355a0b75572c21084c9c044b3e495b2071e0a549eee72a484df197e96ffc4 [INFO] running `Command { std: "docker" "start" "-a" "190355a0b75572c21084c9c044b3e495b2071e0a549eee72a484df197e96ffc4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "190355a0b75572c21084c9c044b3e495b2071e0a549eee72a484df197e96ffc4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "190355a0b75572c21084c9c044b3e495b2071e0a549eee72a484df197e96ffc4", kill_on_drop: false }` [INFO] [stdout] 190355a0b75572c21084c9c044b3e495b2071e0a549eee72a484df197e96ffc4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+2c0f4860cc86e2354a55ea04e738848168435c90" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a27fe68ee746248e2383134a12e090836c13e25b1ea336ab7606d3f65cf82ec4 [INFO] running `Command { std: "docker" "start" "-a" "a27fe68ee746248e2383134a12e090836c13e25b1ea336ab7606d3f65cf82ec4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.85 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking either v1.12.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Compiling serde_json v1.0.127 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking compact_str v0.8.0 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking lru v0.12.3 [INFO] [stderr] Checking unicode-truncate v1.0.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling rust-embed-utils v8.7.2 [INFO] [stderr] Compiling strum_macros v0.26.3 [INFO] [stderr] Compiling serde_derive v1.0.208 [INFO] [stderr] Compiling instability v0.3.2 [INFO] [stderr] Compiling rust-embed-impl v8.7.2 [INFO] [stderr] Checking rust-embed v8.7.2 [INFO] [stderr] Checking strum v0.26.2 [INFO] [stderr] Checking ratatui v0.28.0 [INFO] [stderr] Checking dungeon v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ratatui::text::ToLine` [INFO] [stdout] --> src/assets.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use ratatui::text::ToLine; [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: `rand::Rng` [INFO] [stdout] --> src/assets.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::StreamDeserializer` [INFO] [stdout] --> src/assets.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use serde_json::StreamDeserializer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::enums::Cells` [INFO] [stdout] --> src/enemy.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::Cells; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TaskNPC` [INFO] [stdout] --> src/enums.rs:5:64 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::npc::{BaseNPC, CommNPC, ConvNPC, ShopNPC, SpawnNPC, TaskNPC, TradeNPC}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Items` [INFO] [stdout] --> src/features.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, Items, NPCWrap, ShopItem}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_map` [INFO] [stdout] --> src/features.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::parsing::{ch_to_enum, parse_map}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/abandoned_shacks.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/abandoned_shacks.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/abandoned_shacks.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/abandoned_shacks.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/abandoned_shacks.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/construction.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/construction.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/construction.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/construction.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/construction.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/field.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/field.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/field.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/field.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts` [INFO] [stdout] --> src/features/field.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::f64::consts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/features/field.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/field.rs:268:14 [INFO] [stdout] | [INFO] [stdout] 268 | for j in (0..temp.len()) { [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] 268 - for j in (0..temp.len()) { [INFO] [stdout] 268 + for j in 0..temp.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/field.rs:269:18 [INFO] [stdout] | [INFO] [stdout] 269 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 269 - for i in (0..temp[0].len()) { [INFO] [stdout] 269 + for i in 0..temp[0].len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/pond.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/pond.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/pond.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/pond.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/ruin.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/ruin.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/ruin.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/ruin.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/ruin.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/streams.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/streams.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/streams.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/streams.rs:186:14 [INFO] [stdout] | [INFO] [stdout] 186 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 186 - for j in (0..temp.len()) { [INFO] [stdout] 186 + for j in 0..temp.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/streams.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 187 - for i in (0..temp[0].len()) { [INFO] [stdout] 187 + for i in 0..temp[0].len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for j in (0..self.map.len() - 6) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - for j in (0..self.map.len() - 6) { [INFO] [stdout] 71 + for j in 0..self.map.len() - 6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features.rs:72:22 [INFO] [stdout] | [INFO] [stdout] 72 | for i in (0..self.map[0].len() - 10) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - for i in (0..self.map[0].len() - 10) { [INFO] [stdout] 72 + for i in 0..self.map[0].len() - 10 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stats::WorldStats` [INFO] [stdout] --> src/gui.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::stats::WorldStats; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::enemy::Enemy` [INFO] [stdout] --> src/gui/npc_interactions.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enemy::Enemy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EncOpt`, `EnvInter`, `Equip`, `InterOpt`, `Interactable`, `ItemEffect`, `NPCWrap`, and `Plants` [INFO] [stdout] --> src/gui/npc_interactions.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | EncOpt, EnvInter, Equip, InterOpt, Interactable, ItemEffect, Items, NPCWrap, Plants, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EnvInter`, `Equip`, `InterOpt`, `Interactable`, `ItemEffect`, `NPCWrap`, and `Plants` [INFO] [stdout] --> src/gui/enemy_encounters.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | EncOpt, EnvInter, Equip, InterOpt, Interactable, ItemEffect, Items, NPCWrap, Plants, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc::NPC` [INFO] [stdout] --> src/gui/enemy_encounters.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::npc::NPC; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::text::Line` [INFO] [stdout] --> src/gui/enemy_encounters.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ratatui::text::Line; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env::current_dir` [INFO] [stdout] --> src/gui/environment_interactions.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::env::current_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::crossterm::style::PrintStyledContent` [INFO] [stdout] --> src/gui.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ratatui::crossterm::style::PrintStyledContent; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Modifier` [INFO] [stdout] --> src/gui.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | use ratatui::style::{Color, Modifier, Style, Stylize}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/gui_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::crossterm::event::KeyCode` [INFO] [stdout] --> src/gui_utils.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ratatui::crossterm::event::KeyCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, and `Margin` [INFO] [stdout] --> src/gui_utils.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | use ratatui::layout::{Constraint, Direction, Layout, Margin}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::prelude::Alignment` [INFO] [stdout] --> src/gui_utils.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use ratatui::prelude::Alignment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Cell` [INFO] [stdout] --> src/gui_utils.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use ratatui::widgets::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Row` [INFO] [stdout] --> src/gui_utils.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use ratatui::widgets::Row; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Table` [INFO] [stdout] --> src/gui_utils.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use ratatui::widgets::Table; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/gui_utils.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/item.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/map.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::{prelude::SliceRandom, thread_rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/map.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FeatureType` [INFO] [stdout] --> src/nodemap.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{FeatureType, NodeType}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::features::Feature` [INFO] [stdout] --> src/nodemap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::features::Feature; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/notebook.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default` [INFO] [stdout] --> src/npc.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::default; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_ascii`, `get_shop_convos`, and `get_shops` [INFO] [stdout] --> src/parsing.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | get_ascii, get_comm, get_convo, get_npc_name, get_shop_convos, get_shops, Comms, Convos, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Convo` [INFO] [stdout] --> src/parsing.rs:6:46 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::npc::{new_comm_npc, new_conv_npc, Convo}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/parsing.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EnvInter` [INFO] [stdout] --> src/player.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::enums::{EncOpt, EnvInter, Equip, ItemEffect, PuzzlePiece}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/player.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PuzzlePiece` and `PuzzleType` [INFO] [stdout] --> src/puzzle.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::enums::{Cells, EnvInter, NPCWrap, PuzzlePiece, PuzzleType}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/puzzle.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/puzzle.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/puzzle.rs:713:14 [INFO] [stdout] | [INFO] [stdout] 713 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 713 - for j in (0..temp.len()) { [INFO] [stdout] 713 + for j in 0..temp.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/puzzle.rs:714:18 [INFO] [stdout] | [INFO] [stdout] 714 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 714 - for i in (0..temp[0].len()) { [INFO] [stdout] 714 + for i in 0..temp[0].len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng` and `seq::SliceRandom` [INFO] [stdout] --> src/puzzles.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::{seq::SliceRandom, Rng}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/puzzles.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_ascii` [INFO] [stdout] --> src/settlement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | get_ascii, get_comm, get_convo, get_npc_name, get_shop_convos, get_shops, Comms, Convos, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommDialogue`, `ConvoDialogue`, `load_comms`, and `load_convos` [INFO] [stdout] --> src/settlement.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::dialogue::{load_comms, load_convos, CommDialogue, ConvoDialogue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, and `ShopData` [INFO] [stdout] --> src/settlement.rs:9:60 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData, ShopNPC}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommDialogue`, `ConvoDialogue`, `load_comms`, and `load_convos` [INFO] [stdout] --> src/settlement/guild_settle.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::dialogue::{load_comms, load_convos, CommDialogue, ConvoDialogue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/guild_settle.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/settlement/guild_settle.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData, ShopNPC}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc_utils::box_npc` [INFO] [stdout] --> src/settlement/guild_settle.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::npc_utils::box_npc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shop::Shop` [INFO] [stdout] --> src/settlement/guild_settle.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::shop::Shop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/settlement/guild_settle.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/med_settle.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/settlement/med_settle.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/settlement/med_settle.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/obsidian_settle.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/sm_settle.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/settlement/sm_settle.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TaskType` [INFO] [stdout] --> src/settlements.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tasks::{Task, TaskType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/settlements.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NPCWrap` [INFO] [stdout] --> src/shop.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{NPCWrap, ShopItem, Shops}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/shop.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/shop.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/tasks.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Location` and `ToggleState` [INFO] [stdout] --> src/tasks.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::enums::{Items, Location, ToggleState}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PuzzlePiece` [INFO] [stdout] --> src/utils.rs:2:69 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{Cells, Door, Enemies, EnvInter, Items, Location, PuzzlePiece, ShopItem}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PDoorHV`, `PuzzleDoor`, and `PuzzleKey` [INFO] [stdout] --> src/utils.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::puzzle::{PDoorHV, PuzzleDoor, PuzzleKey}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_ascii`, `get_comm`, `get_convo`, and `get_npc_name` [INFO] [stdout] --> src/gamestate.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::assets::{get_ascii, get_comm, get_convo, get_npc_name}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::dialogue::Dialogue` [INFO] [stdout] --> src/gamestate.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::dialogue::Dialogue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Enemies` and `Items` [INFO] [stdout] --> src/gamestate.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | Cells, CompMode, EncMode, EncOpt, Enemies, EnvInter, FightSteps, GameMode, Interactable, Items, [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc::Convo` [INFO] [stdout] --> src/gamestate.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::npc::Convo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Task` [INFO] [stdout] --> src/gamestate.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::tasks::{Task, Tasks}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gen_broken_range` [INFO] [stdout] --> src/gamestate.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::utils::{gen_broken_range, in_range, loc_shop_items}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Comms`, `Convos`, `Npcs`, `get_comm`, `get_convo`, `get_npc_name`, `get_shop_convos`, `get_shops`, and `self` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | self, get_ascii, get_comm, get_convo, get_npc_name, get_shop_convos, get_shops, Ascii, Comms, [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] 4 | Convos, Npcs, [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Enemies` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:9:42 [INFO] [stdout] | [INFO] [stdout] 9 | AniType, EncMode, EncOpt, EncResult, Enemies, Equip, ExpType, FightSteps, GameMode, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::gui_utils::{Animation, DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::ascii` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use core::ascii; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Comms`, `Convos`, `get_comm`, `get_convo`, `get_npc_name`, `get_shop_convos`, and `get_shops` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | get_ascii, get_comm, get_convo, get_hermit_convo, get_npc_name, get_shop_convos, get_shops, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 4 | Ascii, Comms, Convos, Npcs, [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PuzzlePiece` and `PuzzleType` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:10:70 [INFO] [stdout] | [INFO] [stdout] 10 | Door, EnvInter, GameMode, Interactable, Items, Location, Plants, PuzzlePiece, PuzzleType, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PuzzleDoor` and `PuzzleKey` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::puzzle::{Puzzle, PuzzleDoor, PuzzleKey}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shop::Shop` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::shop::Shop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TaskType` and `self` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::tasks::{self, Task, TaskType}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GUIMode` [INFO] [stdout] --> src/gamestate/inventory_state.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::enums::{GUIMode, GameMode, InterOpt, ItemOpt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/npc_interactions.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_shops` [INFO] [stdout] --> src/gamestate/npcs.rs:2:40 [INFO] [stdout] | [INFO] [stdout] 2 | get_comm, get_convo, get_npc_name, get_shops, get_spawn_comm, get_spawn_convo, get_trade_convo, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cells`, `CompMode`, `EnvInter`, `GUIMode`, `GameMode`, `Interactable`, and `NPCWrap` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Cells, CompMode, EnvInter, GUIMode, GameMode, Interactable, Location, NPCWrap, PuzzlePiece, [INFO] [stdout] | ^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gui_utils::GuiArgs` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::gui_utils::GuiArgs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::settlement::Settlement` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::settlement::Settlement; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gamestate::in_range` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::gamestate::in_range; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gamestate::loc_shop_items` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::gamestate::loc_shop_items; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `poll`, and `read` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | use ratatui::crossterm::event::{poll, read, Event, KeyCode}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::text::ToLine` [INFO] [stdout] --> src/assets.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use ratatui::text::ToLine; [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: `rand::Rng` [INFO] [stdout] --> src/assets.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::StreamDeserializer` [INFO] [stdout] --> src/assets.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use serde_json::StreamDeserializer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::enums::Cells` [INFO] [stdout] --> src/enemy.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::Cells; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TaskNPC` [INFO] [stdout] --> src/enums.rs:5:64 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::npc::{BaseNPC, CommNPC, ConvNPC, ShopNPC, SpawnNPC, TaskNPC, TradeNPC}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Items` [INFO] [stdout] --> src/features.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, Items, NPCWrap, ShopItem}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_map` [INFO] [stdout] --> src/features.rs:9:34 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::parsing::{ch_to_enum, parse_map}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/abandoned_shacks.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/abandoned_shacks.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/abandoned_shacks.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/abandoned_shacks.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/abandoned_shacks.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/construction.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/construction.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/construction.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/construction.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NPCWrap` [INFO] [stdout] --> src/gamestate/settle_state.rs:4:63 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::enums::{GUIMode, GameMode, Interactable, Location, NPCWrap, ShopItem}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ShopNPC` [INFO] [stdout] --> src/gamestate/settle_state.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::npc::{ShopNPC, NPC}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/gamestate/settle_state.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/gamestate.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/gamestate.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/construction.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/field.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/field.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/field.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/field.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts` [INFO] [stdout] --> src/features/field.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::f64::consts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/features/field.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/field.rs:268:14 [INFO] [stdout] | [INFO] [stdout] 268 | for j in (0..temp.len()) { [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] 268 - for j in (0..temp.len()) { [INFO] [stdout] 268 + for j in 0..temp.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/field.rs:269:18 [INFO] [stdout] | [INFO] [stdout] 269 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 269 - for i in (0..temp[0].len()) { [INFO] [stdout] 269 + for i in 0..temp[0].len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/pond.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/pond.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/pond.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/pond.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/ruin.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/ruin.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/features/ruin.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_to_chars` [INFO] [stdout] --> src/features/ruin.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parsing::{parse_map, tile_to_chars}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/ruin.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `FeatureType` [INFO] [stdout] --> src/features/streams.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, FeatureType, NPCWrap}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand_hermit_item` [INFO] [stdout] --> src/features/streams.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::{rand_hermit_item, Item}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/features/streams.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/streams.rs:186:14 [INFO] [stdout] | [INFO] [stdout] 186 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 186 - for j in (0..temp.len()) { [INFO] [stdout] 186 + for j in 0..temp.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features/streams.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 187 - for i in (0..temp[0].len()) { [INFO] [stdout] 187 + for i in 0..temp[0].len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for j in (0..self.map.len() - 6) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - for j in (0..self.map.len() - 6) { [INFO] [stdout] 71 + for j in 0..self.map.len() - 6 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features.rs:72:22 [INFO] [stdout] | [INFO] [stdout] 72 | for i in (0..self.map[0].len() - 10) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - for i in (0..self.map[0].len() - 10) { [INFO] [stdout] 72 + for i in 0..self.map[0].len() - 10 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::stats::WorldStats` [INFO] [stdout] --> src/gui.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::stats::WorldStats; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::enemy::Enemy` [INFO] [stdout] --> src/gui/npc_interactions.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enemy::Enemy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EncOpt`, `EnvInter`, `Equip`, `InterOpt`, `Interactable`, `ItemEffect`, `NPCWrap`, and `Plants` [INFO] [stdout] --> src/gui/npc_interactions.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | EncOpt, EnvInter, Equip, InterOpt, Interactable, ItemEffect, Items, NPCWrap, Plants, [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EnvInter`, `Equip`, `InterOpt`, `Interactable`, `ItemEffect`, `NPCWrap`, and `Plants` [INFO] [stdout] --> src/gui/enemy_encounters.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | EncOpt, EnvInter, Equip, InterOpt, Interactable, ItemEffect, Items, NPCWrap, Plants, [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc::NPC` [INFO] [stdout] --> src/gui/enemy_encounters.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::npc::NPC; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::text::Line` [INFO] [stdout] --> src/gui/enemy_encounters.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ratatui::text::Line; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::env::current_dir` [INFO] [stdout] --> src/gui/environment_interactions.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::env::current_dir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::crossterm::style::PrintStyledContent` [INFO] [stdout] --> src/gui.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ratatui::crossterm::style::PrintStyledContent; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Modifier` [INFO] [stdout] --> src/gui.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | use ratatui::style::{Color, Modifier, Style, Stylize}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/gui_utils.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::crossterm::event::KeyCode` [INFO] [stdout] --> src/gui_utils.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use ratatui::crossterm::event::KeyCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, and `Margin` [INFO] [stdout] --> src/gui_utils.rs:13:23 [INFO] [stdout] | [INFO] [stdout] 13 | use ratatui::layout::{Constraint, Direction, Layout, Margin}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::prelude::Alignment` [INFO] [stdout] --> src/gui_utils.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use ratatui::prelude::Alignment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Cell` [INFO] [stdout] --> src/gui_utils.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use ratatui::widgets::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Row` [INFO] [stdout] --> src/gui_utils.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use ratatui::widgets::Row; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Table` [INFO] [stdout] --> src/gui_utils.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use ratatui::widgets::Table; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/gui_utils.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/item.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/map.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::{prelude::SliceRandom, thread_rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/map.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FeatureType` [INFO] [stdout] --> src/nodemap.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{FeatureType, NodeType}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::features::Feature` [INFO] [stdout] --> src/nodemap.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::features::Feature; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/notebook.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default` [INFO] [stdout] --> src/npc.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::default; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_ascii`, `get_shop_convos`, and `get_shops` [INFO] [stdout] --> src/parsing.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | get_ascii, get_comm, get_convo, get_npc_name, get_shop_convos, get_shops, Comms, Convos, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Convo` [INFO] [stdout] --> src/parsing.rs:6:46 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::npc::{new_comm_npc, new_conv_npc, Convo}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/parsing.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EnvInter` [INFO] [stdout] --> src/player.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::enums::{EncOpt, EnvInter, Equip, ItemEffect, PuzzlePiece}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/player.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PuzzlePiece` and `PuzzleType` [INFO] [stdout] --> src/puzzle.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::enums::{Cells, EnvInter, NPCWrap, PuzzlePiece, PuzzleType}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/puzzle.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/puzzle.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/puzzle.rs:713:14 [INFO] [stdout] | [INFO] [stdout] 713 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 713 - for j in (0..temp.len()) { [INFO] [stdout] 713 + for j in 0..temp.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/puzzle.rs:714:18 [INFO] [stdout] | [INFO] [stdout] 714 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 714 - for i in (0..temp[0].len()) { [INFO] [stdout] 714 + for i in 0..temp[0].len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng` and `seq::SliceRandom` [INFO] [stdout] --> src/puzzles.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use rand::{seq::SliceRandom, Rng}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/puzzles.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_ascii` [INFO] [stdout] --> src/settlement.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | get_ascii, get_comm, get_convo, get_npc_name, get_shop_convos, get_shops, Comms, Convos, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommDialogue`, `ConvoDialogue`, `load_comms`, and `load_convos` [INFO] [stdout] --> src/settlement.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::dialogue::{load_comms, load_convos, CommDialogue, ConvoDialogue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, and `ShopData` [INFO] [stdout] --> src/settlement.rs:9:60 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData, ShopNPC}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommDialogue`, `ConvoDialogue`, `load_comms`, and `load_convos` [INFO] [stdout] --> src/settlement/guild_settle.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::dialogue::{load_comms, load_convos, CommDialogue, ConvoDialogue}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/guild_settle.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Convo`, `ShopConvos`, `ShopData`, `new_comm_npc`, `new_conv_npc`, and `new_shop_npc` [INFO] [stdout] --> src/settlement/guild_settle.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::npc::{new_comm_npc, new_conv_npc, new_shop_npc, Convo, ShopConvos, ShopData, ShopNPC}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc_utils::box_npc` [INFO] [stdout] --> src/settlement/guild_settle.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::npc_utils::box_npc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shop::Shop` [INFO] [stdout] --> src/settlement/guild_settle.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::shop::Shop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/settlement/guild_settle.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/med_settle.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/settlement/med_settle.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/settlement/med_settle.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/obsidian_settle.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Door` and `Settle` [INFO] [stdout] --> src/settlement/sm_settle.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enums::{Cells, Door, EnvInter, NPCWrap, Settle}; [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/settlement/sm_settle.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TaskType` [INFO] [stdout] --> src/settlements.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::tasks::{Task, TaskType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/settlements.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NPCWrap` [INFO] [stdout] --> src/shop.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{NPCWrap, ShopItem, Shops}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/shop.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/shop.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/tasks.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Location` and `ToggleState` [INFO] [stdout] --> src/tasks.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::enums::{Items, Location, ToggleState}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PuzzlePiece` [INFO] [stdout] --> src/utils.rs:2:69 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{Cells, Door, Enemies, EnvInter, Items, Location, PuzzlePiece, ShopItem}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PDoorHV`, `PuzzleDoor`, and `PuzzleKey` [INFO] [stdout] --> src/utils.rs:4:21 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::puzzle::{PDoorHV, PuzzleDoor, PuzzleKey}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_ascii`, `get_comm`, `get_convo`, and `get_npc_name` [INFO] [stdout] --> src/gamestate.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::assets::{get_ascii, get_comm, get_convo, get_npc_name}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::dialogue::Dialogue` [INFO] [stdout] --> src/gamestate.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::dialogue::Dialogue; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Enemies` and `Items` [INFO] [stdout] --> src/gamestate.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | Cells, CompMode, EncMode, EncOpt, Enemies, EnvInter, FightSteps, GameMode, Interactable, Items, [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc::Convo` [INFO] [stdout] --> src/gamestate.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::npc::Convo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Task` [INFO] [stdout] --> src/gamestate.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::tasks::{Task, Tasks}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gen_broken_range` [INFO] [stdout] --> src/gamestate.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | use crate::utils::{gen_broken_range, in_range, loc_shop_items}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Comms`, `Convos`, `Npcs`, `get_comm`, `get_convo`, `get_npc_name`, `get_shop_convos`, `get_shops`, and `self` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | self, get_ascii, get_comm, get_convo, get_npc_name, get_shop_convos, get_shops, Ascii, Comms, [INFO] [stdout] | ^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] 4 | Convos, Npcs, [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Enemies` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:9:42 [INFO] [stdout] | [INFO] [stdout] 9 | AniType, EncMode, EncOpt, EncResult, Enemies, Equip, ExpType, FightSteps, GameMode, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:13:35 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::gui_utils::{Animation, DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::ascii` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use core::ascii; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Comms`, `Convos`, `get_comm`, `get_convo`, `get_npc_name`, `get_shop_convos`, and `get_shops` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | get_ascii, get_comm, get_convo, get_hermit_convo, get_npc_name, get_shop_convos, get_shops, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 4 | Ascii, Comms, Convos, Npcs, [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PuzzlePiece` and `PuzzleType` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:10:70 [INFO] [stdout] | [INFO] [stdout] 10 | Door, EnvInter, GameMode, Interactable, Items, Location, Plants, PuzzlePiece, PuzzleType, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PuzzleDoor` and `PuzzleKey` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::puzzle::{Puzzle, PuzzleDoor, PuzzleKey}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shop::Shop` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::shop::Shop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TaskType` and `self` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::tasks::{self, Task, TaskType}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GUIMode` [INFO] [stdout] --> src/gamestate/inventory_state.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::enums::{GUIMode, GameMode, InterOpt, ItemOpt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/npc_interactions.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_shops` [INFO] [stdout] --> src/gamestate/npcs.rs:2:40 [INFO] [stdout] | [INFO] [stdout] 2 | get_comm, get_convo, get_npc_name, get_shops, get_spawn_comm, get_spawn_convo, get_trade_convo, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cells`, `CompMode`, `EnvInter`, `GUIMode`, `GameMode`, `Interactable`, and `NPCWrap` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Cells, CompMode, EnvInter, GUIMode, GameMode, Interactable, Location, NPCWrap, PuzzlePiece, [INFO] [stdout] | ^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gui_utils::GuiArgs` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::gui_utils::GuiArgs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::settlement::Settlement` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::settlement::Settlement; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gamestate::in_range` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::gamestate::in_range; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gamestate::loc_shop_items` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::gamestate::loc_shop_items; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `poll`, and `read` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | use ratatui::crossterm::event::{poll, read, Event, KeyCode}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NPCWrap` [INFO] [stdout] --> src/gamestate/settle_state.rs:4:63 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::enums::{GUIMode, GameMode, Interactable, Location, NPCWrap, ShopItem}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ShopNPC` [INFO] [stdout] --> src/gamestate/settle_state.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::npc::{ShopNPC, NPC}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/gamestate/settle_state.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/gamestate.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> src/gamestate.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stylize` [INFO] [stdout] --> src/gui_utils.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | use ratatui::style::{Color, Style, Stylize}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc::NPC` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::npc::NPC; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NPC` [INFO] [stdout] --> src/gamestate/settle_state.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::npc::{ShopNPC, NPC}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `door` [INFO] [stdout] --> src/assets.rs:396:24 [INFO] [stdout] | [INFO] [stdout] 396 | EnvInter::Door(door) => "door".to_string(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_door` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task_env` [INFO] [stdout] --> src/assets.rs:411:27 [INFO] [stdout] | [INFO] [stdout] 411 | EnvInter::TaskEnv(task_env) => "settler".to_string(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/assets.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 421 | _ => "".to_string(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/assets.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 419 | PuzzlePiece::PuzzleDoor(_) => "puzzle-door".to_string(), [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 420 | PuzzlePiece::PuzzleKey(_) => "puzzle-key".to_string(), [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] 421 | _ => "".to_string(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stylize` [INFO] [stdout] --> src/gui_utils.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | use ratatui::style::{Color, Style, Stylize}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc::NPC` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::npc::NPC; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NPC` [INFO] [stdout] --> src/gamestate/settle_state.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::npc::{ShopNPC, NPC}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `door` [INFO] [stdout] --> src/assets.rs:396:24 [INFO] [stdout] | [INFO] [stdout] 396 | EnvInter::Door(door) => "door".to_string(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_door` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task_env` [INFO] [stdout] --> src/assets.rs:411:27 [INFO] [stdout] | [INFO] [stdout] 411 | EnvInter::TaskEnv(task_env) => "settler".to_string(), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/assets.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 421 | _ => "".to_string(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/assets.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 419 | PuzzlePiece::PuzzleDoor(_) => "puzzle-door".to_string(), [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 420 | PuzzlePiece::PuzzleKey(_) => "puzzle-key".to_string(), [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] 421 | _ => "".to_string(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/gui_man_draw.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 48 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunks` [INFO] [stdout] --> src/gui/gui_man_draw.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | let chunks = Layout::default() [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/gui_man_draw.rs:187:26 [INFO] [stdout] | [INFO] [stdout] 187 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `door` [INFO] [stdout] --> src/gui/gui_man_draw.rs:493:53 [INFO] [stdout] | [INFO] [stdout] 493 | ... PuzzlePiece::PuzzleDoor(door) => adj_list.push(( [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_door` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/gui/gui_man_draw.rs:499:52 [INFO] [stdout] | [INFO] [stdout] 499 | ... PuzzlePiece::PuzzleKey(key) => adj_list.push(( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/gui_man_draw.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 48 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunks` [INFO] [stdout] --> src/gui/gui_man_draw.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | let chunks = Layout::default() [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/npc_interactions.rs:165:26 [INFO] [stdout] | [INFO] [stdout] 165 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/gui_man_draw.rs:187:26 [INFO] [stdout] | [INFO] [stdout] 187 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `door` [INFO] [stdout] --> src/gui/gui_man_draw.rs:493:53 [INFO] [stdout] | [INFO] [stdout] 493 | ... PuzzlePiece::PuzzleDoor(door) => adj_list.push(( [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_door` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/gui/gui_man_draw.rs:499:52 [INFO] [stdout] | [INFO] [stdout] 499 | ... PuzzlePiece::PuzzleKey(key) => adj_list.push(( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/npc_interactions.rs:596:26 [INFO] [stdout] | [INFO] [stdout] 596 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/npc_interactions.rs:165:26 [INFO] [stdout] | [INFO] [stdout] 165 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/npc_interactions.rs:596:26 [INFO] [stdout] | [INFO] [stdout] 596 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:194:22 [INFO] [stdout] | [INFO] [stdout] 194 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:354:22 [INFO] [stdout] | [INFO] [stdout] 354 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:780:22 [INFO] [stdout] | [INFO] [stdout] 780 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:194:22 [INFO] [stdout] | [INFO] [stdout] 194 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:956:22 [INFO] [stdout] | [INFO] [stdout] 956 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_h` [INFO] [stdout] --> src/gui.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let in_h = inner_area.height as usize; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_in_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_w` [INFO] [stdout] --> src/gui.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let in_w = inner_area.width as usize; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_in_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:354:22 [INFO] [stdout] | [INFO] [stdout] 354 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:780:22 [INFO] [stdout] | [INFO] [stdout] 780 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui/environment_interactions.rs:956:22 [INFO] [stdout] | [INFO] [stdout] 956 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_h` [INFO] [stdout] --> src/gui.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | let in_h = inner_area.height as usize; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_in_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `in_w` [INFO] [stdout] --> src/gui.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let in_w = inner_area.width as usize; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_in_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui.rs:1310:26 [INFO] [stdout] | [INFO] [stdout] 1310 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/gui.rs:1305:21 [INFO] [stdout] | [INFO] [stdout] 1305 | let b = Block::bordered(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_col` [INFO] [stdout] --> src/gui_utils.rs:248:25 [INFO] [stdout] | [INFO] [stdout] 248 | let env_col = { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/gui.rs:1310:26 [INFO] [stdout] | [INFO] [stdout] 1310 | let [area] = vertical.areas(a); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/gui.rs:1305:21 [INFO] [stdout] | [INFO] [stdout] 1305 | let b = Block::bordered(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `px` is never read [INFO] [stdout] --> src/map.rs:246:22 [INFO] [stdout] | [INFO] [stdout] 246 | let mut px = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `py` is never read [INFO] [stdout] --> src/map.rs:247:22 [INFO] [stdout] | [INFO] [stdout] 247 | let mut py = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_col` [INFO] [stdout] --> src/gui_utils.rs:248:25 [INFO] [stdout] | [INFO] [stdout] 248 | let env_col = { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `px` is never read [INFO] [stdout] --> src/map.rs:246:22 [INFO] [stdout] | [INFO] [stdout] 246 | let mut px = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `py` is never read [INFO] [stdout] --> src/map.rs:247:22 [INFO] [stdout] | [INFO] [stdout] 247 | let mut py = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_name` [INFO] [stdout] --> src/parsing.rs:204:21 [INFO] [stdout] | [INFO] [stdout] 204 | let def_name = "Kevthony".to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_name` [INFO] [stdout] --> src/parsing.rs:204:21 [INFO] [stdout] | [INFO] [stdout] 204 | let def_name = "Kevthony".to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inters` [INFO] [stdout] --> src/puzzle.rs:2010:32 [INFO] [stdout] | [INFO] [stdout] 2010 | let (map, npcs, items, env_inters) = make_ruin(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_inters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inters` [INFO] [stdout] --> src/puzzle.rs:2043:32 [INFO] [stdout] | [INFO] [stdout] 2043 | let (map, npcs, items, env_inters, doors, keys) = make_key_ruin(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_inters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cells` [INFO] [stdout] --> src/settlement/guild_settle.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let cells = vec![vec![Cells::Empty; 128]; 52]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cells` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `essential` [INFO] [stdout] --> src/settlement/med_settle.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | let essential = vec![ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_essential` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/settlement/obsidian_settle.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/settlement/obsidian_settle.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 245 | true => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 246 | false => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 247 | // false => GUILD_WALLS_RIGHT, [INFO] [stdout] 248 | _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_name` [INFO] [stdout] --> src/settlement.rs:324:21 [INFO] [stdout] | [INFO] [stdout] 324 | let def_name = "Kevthony".to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `npcs` [INFO] [stdout] --> src/settlement.rs:784:41 [INFO] [stdout] | [INFO] [stdout] 784 | pub fn demo_settle(pos: (i16, i16), npcs: HashMap<(usize, usize), NPCWrap>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_npcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/settlement.rs:987:28 [INFO] [stdout] | [INFO] [stdout] 987 | .filter(|&(p, e)| e == EnvInter::TaskEnv(TaskEnv::Null)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/settlements.rs:137:37 [INFO] [stdout] | [INFO] [stdout] 137 | fn set_pass_item_content(&self, task: Task) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/settlements.rs:141:36 [INFO] [stdout] | [INFO] [stdout] 141 | fn set_pass_msg_content(&self, task: Task) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `null_comms` [INFO] [stdout] --> src/tasks.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let null_comms = vec!["Hey there."]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_comms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | let res = self.enc_key(event.code); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | let res = self.enc_key(event.code); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `turn` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let turn = self.enemy_turn(enemy.clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_turn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lturn` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let lturn = self.player.get_last_turn(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lturn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/environment_interactions.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | _ => "dunno".to_string(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/environment_interactions.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 141 | Puzzle::Maze { .. } => "Maze".to_string(), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 142 | Puzzle::Ruin { .. } => "Ruin".to_string(), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 143 | Puzzle::Flip { .. } => "Flip".to_string(), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 144 | Puzzle::KeyRuin { .. } => "KeyRuin".to_string(), [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 145 | _ => "dunno".to_string(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inters` [INFO] [stdout] --> src/puzzle.rs:2010:32 [INFO] [stdout] | [INFO] [stdout] 2010 | let (map, npcs, items, env_inters) = make_ruin(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_inters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inters` [INFO] [stdout] --> src/puzzle.rs:2043:32 [INFO] [stdout] | [INFO] [stdout] 2043 | let (map, npcs, items, env_inters, doors, keys) = make_key_ruin(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_inters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/environment_interactions.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | for (ppos, mut p) in local_puzzles { [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: unused variable: `cells` [INFO] [stdout] --> src/settlement/guild_settle.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let cells = vec![vec![Cells::Empty; 128]; 52]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cells` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `essential` [INFO] [stdout] --> src/settlement/med_settle.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | let essential = vec![ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_essential` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/settlement/obsidian_settle.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/settlement/obsidian_settle.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 245 | true => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 246 | false => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 247 | // false => GUILD_WALLS_RIGHT, [INFO] [stdout] 248 | _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/environment_interactions.rs:898:39 [INFO] [stdout] | [INFO] [stdout] 898 | fn retrieve_item_final(&mut self, mut task: Task) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/interactions.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/interactions.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 80 | Interactable::Item(item) => { [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | Interactable::ShopItem(sitem) => {} [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] 85 | Interactable::Enemy(enemy) => {} [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 86 | Interactable::NPC(npc) => {} [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 90 | _ => todo!(), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `st` [INFO] [stdout] --> src/gamestate/interactions.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | let (pos, st) = self.gui.get_interactee(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_st` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sitem` [INFO] [stdout] --> src/gamestate/interactions.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | Interactable::ShopItem(sitem) => {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_sitem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy` [INFO] [stdout] --> src/gamestate/interactions.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | Interactable::Enemy(enemy) => {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `npc` [INFO] [stdout] --> src/gamestate/interactions.rs:86:31 [INFO] [stdout] | [INFO] [stdout] 86 | Interactable::NPC(npc) => {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_npc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inter` [INFO] [stdout] --> src/gamestate/interactions.rs:87:36 [INFO] [stdout] | [INFO] [stdout] 87 | Interactable::EnvInter(env_inter) => {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_inter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `puz_piece` [INFO] [stdout] --> src/gamestate/interactions.rs:88:39 [INFO] [stdout] | [INFO] [stdout] 88 | Interactable::PuzzlePiece(puz_piece) => {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_puz_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `itm` [INFO] [stdout] --> src/gamestate/interactions.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(itm) = self.items.remove(&(item.x, item.y)) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_itm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/interactions.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/interactions.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 186 | Interactable::Item(_) => self.item_interaction(), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 187 | Interactable::ShopItem(si) => self.shop_item_interaction(si), [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 188 | Interactable::NPC(_) => self.npc_interaction(), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 189 | Interactable::Enemy(e) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 196 | _ => todo!(), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_name` [INFO] [stdout] --> src/settlement.rs:324:21 [INFO] [stdout] | [INFO] [stdout] 324 | let def_name = "Kevthony".to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `npcs` [INFO] [stdout] --> src/settlement.rs:784:41 [INFO] [stdout] | [INFO] [stdout] 784 | pub fn demo_settle(pos: (i16, i16), npcs: HashMap<(usize, usize), NPCWrap>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_npcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/locations.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | _ => false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/locations.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 165 | Location::Null => false, [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 166 | Location::Settlement(mut settle) => { [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 171 | Location::Puzzle(mut puzzle) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 176 | Location::Feature(puzzle) => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 181 | _ => false, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/settlement.rs:987:28 [INFO] [stdout] | [INFO] [stdout] 987 | .filter(|&(p, e)| e == EnvInter::TaskEnv(TaskEnv::Null)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/settlements.rs:137:37 [INFO] [stdout] | [INFO] [stdout] 137 | fn set_pass_item_content(&self, task: Task) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/settlements.rs:141:36 [INFO] [stdout] | [INFO] [stdout] 141 | fn set_pass_msg_content(&self, task: Task) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/npc_interactions.rs:380:48 [INFO] [stdout] | [INFO] [stdout] 380 | Interactable::NPC(NPCWrap::ShopNPC(mut shop_npc)) => { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `null_comms` [INFO] [stdout] --> src/tasks.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let null_comms = vec!["Hey there."]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_comms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/npcs.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/gamestate/npcs.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/npcs.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | ... _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/npcs.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 178 | ... Puzzle::Maze { .. } => (PuzzleType::Maze, self.build_maze_npc(puzzle)), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 179 | ... Puzzle::Ruin { .. } => (PuzzleType::Ruin, self.build_maze_npc(puzzle)), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 180 | ... Puzzle::Flip { .. } => (PuzzleType::Flip, self.build_maze_npc(puzzle)), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 181 | ... Puzzle::KeyRuin { .. } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 186 | ... _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/npcs.rs:175:29 [INFO] [stdout] | [INFO] [stdout] 175 | let mut puzzle = self.puzzles.nearest_puzzle(self.dist_fo); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_name` [INFO] [stdout] --> src/gamestate/npcs.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let def_name = "Kevthony".to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | let key = self [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/settle_state.rs:29:42 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn get_shop_from_item(&mut self, mut item: ShopItem) -> Shop { [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/gamestate/settle_state.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | Location::Settlement(mut settle) => match item { [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/gamestate/settle_state.rs:77:31 [INFO] [stdout] | [INFO] [stdout] 77 | Location::Feature(mut feat) => match item { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/settle_state.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/settle_state.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 143 | ShopItem::Item(itm) => itm, [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 144 | ShopItem::Herbalist(item) => item, [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] 145 | ShopItem::Weapon(item) => item, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 146 | ShopItem::Armor(item) => item, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 153 | _ => todo!(), [INFO] [stdout] | ^ ...and 6 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/settle_state.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let mut sitem = { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/gamestate/settle_state.rs:163:25 [INFO] [stdout] | [INFO] [stdout] 163 | let rem = shop.stock.remove(&((ipos.0) as usize, (ipos.1) as usize)); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/gamestate/settle_state.rs:168:25 [INFO] [stdout] | [INFO] [stdout] 168 | let rem = shop.stock.remove(&((ipos.0) as usize, (ipos.1) as usize)); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/settle_state.rs:228:45 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn shop_item_interaction(&mut self, mut sitem: ShopItem) -> bool { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buy_item` is never read [INFO] [stdout] --> src/gamestate/settle_state.rs:253:28 [INFO] [stdout] | [INFO] [stdout] 253 | let mut buy_item = false; [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/gamestate.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut tasks = Tasks::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l_rate` [INFO] [stdout] --> src/gamestate.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | let l_rate = 100 as u64; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | let res = self.enc_key(event.code); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/gamestate.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let day = self.stats.world_stats.date.day; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `month` [INFO] [stdout] --> src/gamestate.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let month = self.stats.world_stats.date.month; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_month` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `year` [INFO] [stdout] --> src/gamestate.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | let year = self.stats.world_stats.date.year; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | let res = self.enc_key(event.code); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `turn` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let turn = self.enemy_turn(enemy.clone()); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_turn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lturn` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let lturn = self.player.get_last_turn(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lturn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/environment_interactions.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | _ => "dunno".to_string(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/environment_interactions.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 141 | Puzzle::Maze { .. } => "Maze".to_string(), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 142 | Puzzle::Ruin { .. } => "Ruin".to_string(), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 143 | Puzzle::Flip { .. } => "Flip".to_string(), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 144 | Puzzle::KeyRuin { .. } => "KeyRuin".to_string(), [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 145 | _ => "dunno".to_string(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/environment_interactions.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | for (ppos, mut p) in local_puzzles { [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: struct `CommDialogue` is never constructed [INFO] [stdout] --> src/assets.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CommDialogue { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConvoDialogue` is never constructed [INFO] [stdout] --> src/assets.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AssetType` is never used [INFO] [stdout] --> src/assets.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum AssetType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/assets.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub enum Npcs { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 94 | Settler, [INFO] [stdout] 95 | GuildMember, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 96 | GuildHead, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 97 | ObsidianMember, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 98 | ObsidianSteward, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | ShopKeeper, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 100 | Herbalist, [INFO] [stdout] 101 | Clinic, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 102 | WeaponSmith, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 103 | Armorer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 104 | Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Npcs` 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: function `get_trade` is never used [INFO] [stdout] --> src/assets.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn get_trade() -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_comms` is never used [INFO] [stdout] --> src/assets.rs:476:8 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn load_comms(ntype: &String) -> CommDialogue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_convos` is never used [INFO] [stdout] --> src/assets.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn load_convos(ntype: &String) -> ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommDialogue` is never constructed [INFO] [stdout] --> src/dialogue.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CommDialogue { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConvoDialogue` is never constructed [INFO] [stdout] --> src/dialogue.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dialogue` is never constructed [INFO] [stdout] --> src/dialogue.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Dialogue { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_comms` is never used [INFO] [stdout] --> src/dialogue.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn load_comms(ntype: &String) -> CommDialogue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_convos` is never used [INFO] [stdout] --> src/dialogue.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn load_convos(ntype: &String) -> ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dialogue.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl Dialogue { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 141 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_cave_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn get_guild_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn get_cult_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn get_cave_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn get_guild_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn get_cult_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | pub fn retrieve_new_dialogue(&mut self) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALLETE` is never used [INFO] [stdout] --> src/enemy.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const PALLETE: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ... [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_pos`, and `inc_steps` are never used [INFO] [stdout] --> src/enemy.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Enemy { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 25 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub fn inc_steps(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/enums.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Cells { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 26 | Moss, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | Tunnel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | Inter, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | Exup, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | NPCM, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | Enemy, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 181 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | Herbalist, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cells` 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: multiple variants are never constructed [INFO] [stdout] --> src/enums.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 195 | pub enum Items { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 203 | WoodenBoard, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 204 | IronSword, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | IronClaymore, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | SteelLongsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 218 | [INFO] [stdout] 219 | BronzeGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 220 | IronGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 221 | SteelGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | IronShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 225 | SteelShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 226 | [INFO] [stdout] 227 | BasicStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 228 | PineStaff, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 229 | WoodStaff, [INFO] [stdout] 230 | MapleStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 231 | OakStaff, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | IronHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 237 | SteelHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | IronLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 241 | SteelLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | IronPickAxe, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 245 | SteelPickAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | IronPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 249 | SteelPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 250 | [INFO] [stdout] 251 | ShadowAxe, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | IronWarAxe, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | MediumArmour, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 259 | HeavyArmour, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | LargeWoodShield, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 263 | IronShield, // +10 defence [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 264 | SteelShield, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Items` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 364 | pub enum PlayerTraits { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 369 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerTraits` 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: variants `Luck`, `Trading`, `Navigation`, and `Herbalism` are never constructed [INFO] [stdout] --> src/enums.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 378 | pub enum ExpType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 382 | Luck, [INFO] [stdout] | ^^^^ [INFO] [stdout] 383 | Trading, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 384 | Lockpicking, [INFO] [stdout] 385 | Navigation, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 386 | Herbalism, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpType` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:399:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub enum Plants { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 399 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Plants` 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: variants `Hands`, `Head`, `Torso`, and `Feet` are never constructed [INFO] [stdout] --> src/enums.rs:408:5 [INFO] [stdout] | [INFO] [stdout] 403 | pub enum Equip { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 408 | Hands, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 409 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] 410 | Torso, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 411 | Feet, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Equip` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:437:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub enum Enemies { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 437 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Enemies` 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: variants `ShopNPC` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:454:5 [INFO] [stdout] | [INFO] [stdout] 450 | pub enum NPCWrap { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 454 | ShopNPC(ShopNPC), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NPCWrap` 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: variants `Interact`, `NPC`, and `Fight` are never constructed [INFO] [stdout] --> src/enums.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 469 | pub enum GUIMode { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 472 | Interact, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] 477 | Fight, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GUIMode` 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: variants `Menu` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 481 | pub enum GameMode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 482 | Menu, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 487 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameMode` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 499 | pub enum EncResult { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 503 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncResult` 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: variant `Feedback` is never constructed [INFO] [stdout] --> src/enums.rs:510:5 [INFO] [stdout] | [INFO] [stdout] 507 | pub enum InterSteps { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 510 | Feedback, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InterSteps` 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: variant `Message` is never constructed [INFO] [stdout] --> src/enums.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub enum FightSteps { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 518 | Message, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FightSteps` 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: variants `Task` and `WoodenHatch` are never constructed [INFO] [stdout] --> src/enums.rs:547:5 [INFO] [stdout] | [INFO] [stdout] 540 | pub enum EnvInter { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 547 | Task(TaskType), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 553 | WoodenHatch, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnvInter` 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: variant `BoardStartEntity` is never constructed [INFO] [stdout] --> src/enums.rs:559:5 [INFO] [stdout] | [INFO] [stdout] 558 | pub enum TaskEnv { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 559 | BoardStartEntity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskEnv` 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: variants `Plot`, `RetrieveItem`, `PassMessage`, and `PassItem` are never constructed [INFO] [stdout] --> src/enums.rs:566:5 [INFO] [stdout] | [INFO] [stdout] 565 | pub enum TaskType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 566 | Plot, [INFO] [stdout] | ^^^^ [INFO] [stdout] 567 | RetrieveItem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 568 | PassMessage, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 569 | PassItem, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskType` 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: variants `HUnlocked` and `VUnlocked` are never constructed [INFO] [stdout] --> src/enums.rs:575:5 [INFO] [stdout] | [INFO] [stdout] 573 | pub enum Door { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 574 | HOpen, [INFO] [stdout] 575 | HUnlocked, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | VUnlocked, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Door` 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: variants `Large` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:611:5 [INFO] [stdout] | [INFO] [stdout] 608 | pub enum Settle { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 611 | Large, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Settle` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:622:5 [INFO] [stdout] | [INFO] [stdout] 618 | pub enum NodeType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 622 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` 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: variants `Guild`, `Church`, and `Clinic` are never constructed [INFO] [stdout] --> src/enums.rs:642:5 [INFO] [stdout] | [INFO] [stdout] 640 | pub enum ShopItem { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 641 | Item(Item), [INFO] [stdout] 642 | Guild, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 643 | Church, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 644 | Clinic, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ShopItem` 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: variants `AbandonedSettlement` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:669:5 [INFO] [stdout] | [INFO] [stdout] 662 | pub enum FeatureType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 669 | AbandonedSettlement, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 670 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FeatureType` 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: enum `DialogueTypes` is never used [INFO] [stdout] --> src/enums.rs:688:10 [INFO] [stdout] | [INFO] [stdout] 688 | pub enum DialogueTypes { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/features.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERMIT_2` is never used [INFO] [stdout] --> src/features.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const HERMIT_2: &str = r#" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `feature_check` is never used [INFO] [stdout] --> src/features.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 146 | impl Features { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn feature_check(&mut self, pos: (i16, i16)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ABANDONED_SHACK_BLANK` is never used [INFO] [stdout] --> src/features/abandoned_shacks.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const ABANDONED_SHACK_BLANK: &str = r#"Null|Null|BronzeWarAxe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONSTRUCTION_BLANK` is never used [INFO] [stdout] --> src/features/construction.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CONSTRUCTION_BLANK: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRASS_PATCH_TRANS` is never used [INFO] [stdout] --> src/features/field.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const GRASS_PATCH_TRANS: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_RUIN_0` is never used [INFO] [stdout] --> src/features/ruin.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | const SMALL_RUIN_0: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STREAM` is never used [INFO] [stdout] --> src/features/streams.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const STREAM: &str = r#" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inter_res_draw` is never used [INFO] [stdout] --> src/gui/gui_man_draw.rs:700:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl GUI { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 700 | pub fn inter_res_draw(&mut self, gui_args: &mut GuiArgs) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `npc_commdraw` is never used [INFO] [stdout] --> src/gui/npc_interactions.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl GUI { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 22 | pub fn npc_commdraw(&mut self, comms: String, gui_args: &mut GuiArgs) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CustomColors` is never used [INFO] [stdout] --> src/gui_utils.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum CustomColors { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_custom_color` is never used [INFO] [stdout] --> src/gui_utils.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl CustomColors { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 45 | pub fn to_custom_color(&self) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/item.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Item { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 66 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn new_agility_potion(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 461 | pub fn new_iron_claymore(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn new_bronze_greatsword(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 629 | pub fn new_basic_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 853 | pub fn new_bronze_shadow_axe(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 938 | pub fn new_large_wood_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 965 | pub fn new_iron_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 992 | pub fn new_steel_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1046 | pub fn new_medium_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1073 | pub fn new_heavy_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1412 | pub fn get_itype(&mut self) -> Items { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `px`, `py`, and `dead_tunnels` are never read [INFO] [stdout] --> src/map.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Map { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub px: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | pub py: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 22 | pub tunnels: HashMap<(usize, usize), (usize, usize)>, [INFO] [stdout] 23 | pub dead_tunnels: HashMap<(usize, usize), (usize, usize)>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Map` 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: function `format_hashmap` is never used [INFO] [stdout] --> src/map.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn format_hashmap(hashmap: HashMap<(usize, usize), (usize, usize)>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map_to_string`, `replace_dead_tunnels`, and `center_player` are never used [INFO] [stdout] --> src/map.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 43 | impl Map { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 352 | fn map_to_string(&self, cells: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 705 | fn replace_dead_tunnels( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 784 | pub fn center_player(&mut self, x: usize, y: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Quest` is never constructed [INFO] [stdout] --> src/notebook.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Quest { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stage` is never constructed [INFO] [stdout] --> src/notebook.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Stage { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Place` is never constructed [INFO] [stdout] --> src/notebook.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct Place { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> src/notebook.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct Person { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lore` is never constructed [INFO] [stdout] --> src/notebook.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct Lore { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `enter_knowledge` is never used [INFO] [stdout] --> src/notebook.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Notebook { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn enter_knowledge(&mut self, sname: String, snote: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_task_npc` is never used [INFO] [stdout] --> src/npc.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_task_npc( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_shop_npc` is never used [INFO] [stdout] --> src/npc.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl dyn NPC { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn as_shop_npc(&self) -> Option<&ShopNPC> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ptype` is never used [INFO] [stdout] --> src/npc.rs:518:12 [INFO] [stdout] | [INFO] [stdout] 496 | impl SpawnNPC { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 518 | pub fn get_ptype(&mut self) -> PuzzleType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskNPC` is never constructed [INFO] [stdout] --> src/npc.rs:594:12 [INFO] [stdout] | [INFO] [stdout] 594 | pub struct TaskNPC { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shift_npc` is never used [INFO] [stdout] --> src/npc_utils.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn shift_npc(npc: NPCWrap, pos: (usize, usize)) -> NPCWrap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INVENTORY_MAX` is never used [INFO] [stdout] --> src/player.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const INVENTORY_MAX: usize = 75; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_pos`, `inv_full`, `move_up`, `move_down`, `move_left`, and `move_right` are never used [INFO] [stdout] --> src/player.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn inv_full(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn move_up(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn move_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn move_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn move_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_portals` is never used [INFO] [stdout] --> src/puzzle.rs:236:4 [INFO] [stdout] | [INFO] [stdout] 236 | fn place_portals(cells: Vec>) -> HashMap<(usize, usize), (usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUIN_ROOM_BLANK` is never used [INFO] [stdout] --> src/puzzle.rs:313:7 [INFO] [stdout] | [INFO] [stdout] 313 | const RUIN_ROOM_BLANK: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/puzzle.rs:328:7 [INFO] [stdout] | [INFO] [stdout] 328 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_pos` is never used [INFO] [stdout] --> src/puzzle.rs:2069:12 [INFO] [stdout] | [INFO] [stdout] 1990 | impl Puzzle { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 2069 | pub fn set_pos(&mut self, tpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `spawn_new_puzzle`, and `puzzle_check` are never used [INFO] [stdout] --> src/puzzles.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Puzzles { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn spawn_new_puzzle(&mut self, pos: (i16, i16), ptype: PuzzleType) -> PuzzleType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn puzzle_check(&mut self, pos: (i16, i16)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/settlement.rs:758:12 [INFO] [stdout] | [INFO] [stdout] 757 | impl Settlement { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 758 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 805 | pub fn new_small_settle(pos: (i16, i16)) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 928 | pub fn get_shop_from_item_pos(&mut self, pos: (i16, i16)) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 999 | pub fn set_pos(&mut self, tpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1019 | pub fn get_items_sent(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1023 | pub fn tog_items_sent(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1027 | pub fn get_shops(&mut self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1031 | pub fn get_map(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Weapons`, `Armour`, and `Consignment` are never constructed [INFO] [stdout] --> src/settlement/med_settle.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 78 | enum BlockType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 87 | Weapons, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 88 | Armour, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 89 | Consignment, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OOBSIDIAN_WALLS_BOTTOM` is never used [INFO] [stdout] --> src/settlement/obsidian_settle.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const OOBSIDIAN_WALLS_BOTTOM: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRASS_PATCH` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:173:7 [INFO] [stdout] | [INFO] [stdout] 173 | const GRASS_PATCH: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPEN_2` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:212:7 [INFO] [stdout] | [INFO] [stdout] 212 | const OPEN_2: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEAPONS_1` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:324:7 [INFO] [stdout] | [INFO] [stdout] 324 | const WEAPONS_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard App... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ARMOUR_1` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:352:7 [INFO] [stdout] | [INFO] [stdout] 352 | const ARMOUR_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard Appl... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:396:7 [INFO] [stdout] | [INFO] [stdout] 396 | const PALETTE: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ ... [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `spawn_new_settlement`, `get_settle_pos`, `set_pass_item_content`, and `set_pass_msg_content` are never used [INFO] [stdout] --> src/settlements.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Settlements { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn spawn_new_settlement(&mut self, cpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_settle_pos(&mut self) -> Vec<(i16, i16)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn set_pass_item_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn set_pass_msg_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_clinic`, `new_herbalist`, `get_npc`, and `get_paid` are never used [INFO] [stdout] --> src/shop.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Shop { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn new_clinic( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn new_herbalist( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn get_npc(&self) -> ShopNPC { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn get_paid(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `alignment` and `renown` are never read [INFO] [stdout] --> src/stats.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct PlayerStats { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 68 | alignment: i8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 69 | renown: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state_toggle` and `player_stats` are never read [INFO] [stdout] --> src/stats.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 162 | pub struct Stats { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 163 | pub world_stats: WorldStats, [INFO] [stdout] 164 | pub state_toggle: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 165 | pub player_stats: PlayerStats, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Plot`, `PassMessage`, and `PassItem` are never constructed [INFO] [stdout] --> src/tasks.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum TaskType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 80 | Plot, [INFO] [stdout] | ^^^^ [INFO] [stdout] 81 | RetrieveItem, [INFO] [stdout] 82 | PassMessage, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 83 | PassItem, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskType` 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: variant `RetrieveItem` is never constructed [INFO] [stdout] --> src/tasks.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub enum Task { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 99 | RetrieveItem { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Task` 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: function `place_enemies` is never used [INFO] [stdout] --> src/utils.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn place_enemies(map: Vec>) -> HashMap<(usize, usize), Enemy> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_broken_range` is never used [INFO] [stdout] --> src/utils.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn gen_broken_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_items` is never used [INFO] [stdout] --> src/utils.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn init_items( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir` is never used [INFO] [stdout] --> src/utils.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn get_dir(vec: (i16, i16)) -> (i8, i8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nodemap`, `level`, `portal_cool`, and `loc_map` are never read [INFO] [stdout] --> src/gamestate.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct GameState { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | nodemap: NodeMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | level: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | portal_cool: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 87 | loc_map: Option>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `new_loc_check` is never used [INFO] [stdout] --> src/gamestate/locations.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn new_loc_check(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/gui/npc_interactions.rs:292:45 [INFO] [stdout] | [INFO] [stdout] 292 | ... cell.clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/gui/npc_interactions.rs:297:52 [INFO] [stdout] | [INFO] [stdout] 297 | ... Cell::from(cell.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/gui_utils.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn wrap_text(text: &str, max_width: usize) -> Text { [INFO] [stdout] | ^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn wrap_text(text: &str, max_width: usize) -> Text<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/environment_interactions.rs:898:39 [INFO] [stdout] | [INFO] [stdout] 898 | fn retrieve_item_final(&mut self, mut task: Task) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gamestate.rs:394:9 [INFO] [stdout] | [INFO] [stdout] 394 | sfile.write_all(json.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 394 | let _ = sfile.write_all(json.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gamestate.rs:400:9 [INFO] [stdout] | [INFO] [stdout] 400 | writeln!(nfile, "{}", filename.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 400 | let _ = writeln!(nfile, "{}", filename.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/interactions.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/interactions.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 80 | Interactable::Item(item) => { [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | Interactable::ShopItem(sitem) => {} [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] 85 | Interactable::Enemy(enemy) => {} [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 86 | Interactable::NPC(npc) => {} [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 90 | _ => todo!(), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `st` [INFO] [stdout] --> src/gamestate/interactions.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | let (pos, st) = self.gui.get_interactee(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_st` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sitem` [INFO] [stdout] --> src/gamestate/interactions.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | Interactable::ShopItem(sitem) => {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_sitem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy` [INFO] [stdout] --> src/gamestate/interactions.rs:85:33 [INFO] [stdout] | [INFO] [stdout] 85 | Interactable::Enemy(enemy) => {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `npc` [INFO] [stdout] --> src/gamestate/interactions.rs:86:31 [INFO] [stdout] | [INFO] [stdout] 86 | Interactable::NPC(npc) => {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_npc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inter` [INFO] [stdout] --> src/gamestate/interactions.rs:87:36 [INFO] [stdout] | [INFO] [stdout] 87 | Interactable::EnvInter(env_inter) => {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_env_inter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `puz_piece` [INFO] [stdout] --> src/gamestate/interactions.rs:88:39 [INFO] [stdout] | [INFO] [stdout] 88 | Interactable::PuzzlePiece(puz_piece) => {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_puz_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `itm` [INFO] [stdout] --> src/gamestate/interactions.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(itm) = self.items.remove(&(item.x, item.y)) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_itm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/interactions.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/interactions.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 186 | Interactable::Item(_) => self.item_interaction(), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 187 | Interactable::ShopItem(si) => self.shop_item_interaction(si), [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 188 | Interactable::NPC(_) => self.npc_interaction(), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 189 | Interactable::Enemy(e) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 196 | _ => todo!(), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/locations.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | _ => false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/locations.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 165 | Location::Null => false, [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 166 | Location::Settlement(mut settle) => { [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 171 | Location::Puzzle(mut puzzle) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 176 | Location::Feature(puzzle) => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 181 | _ => false, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/npc_interactions.rs:380:48 [INFO] [stdout] | [INFO] [stdout] 380 | Interactable::NPC(NPCWrap::ShopNPC(mut shop_npc)) => { [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/gamestate/npcs.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/gamestate/npcs.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/npcs.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | ... _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/npcs.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 178 | ... Puzzle::Maze { .. } => (PuzzleType::Maze, self.build_maze_npc(puzzle)), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 179 | ... Puzzle::Ruin { .. } => (PuzzleType::Ruin, self.build_maze_npc(puzzle)), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 180 | ... Puzzle::Flip { .. } => (PuzzleType::Flip, self.build_maze_npc(puzzle)), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 181 | ... Puzzle::KeyRuin { .. } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 186 | ... _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/npcs.rs:175:29 [INFO] [stdout] | [INFO] [stdout] 175 | let mut puzzle = self.puzzles.nearest_puzzle(self.dist_fo); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def_name` [INFO] [stdout] --> src/gamestate/npcs.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let def_name = "Kevthony".to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_def_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | let key = self [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/settle_state.rs:29:42 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn get_shop_from_item(&mut self, mut item: ShopItem) -> Shop { [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/gamestate/settle_state.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | Location::Settlement(mut settle) => match item { [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/gamestate/settle_state.rs:77:31 [INFO] [stdout] | [INFO] [stdout] 77 | Location::Feature(mut feat) => match item { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/settle_state.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/gamestate/settle_state.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 143 | ShopItem::Item(itm) => itm, [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 144 | ShopItem::Herbalist(item) => item, [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] 145 | ShopItem::Weapon(item) => item, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 146 | ShopItem::Armor(item) => item, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 153 | _ => todo!(), [INFO] [stdout] | ^ ...and 6 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/settle_state.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | let mut sitem = { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/gamestate/settle_state.rs:163:25 [INFO] [stdout] | [INFO] [stdout] 163 | let rem = shop.stock.remove(&((ipos.0) as usize, (ipos.1) as usize)); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/gamestate/settle_state.rs:168:25 [INFO] [stdout] | [INFO] [stdout] 168 | let rem = shop.stock.remove(&((ipos.0) as usize, (ipos.1) as usize)); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gamestate/settle_state.rs:228:45 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn shop_item_interaction(&mut self, mut sitem: ShopItem) -> bool { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buy_item` is never read [INFO] [stdout] --> src/gamestate/settle_state.rs:253:28 [INFO] [stdout] | [INFO] [stdout] 253 | let mut buy_item = false; [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/gamestate.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut tasks = Tasks::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l_rate` [INFO] [stdout] --> src/gamestate.rs:176:13 [INFO] [stdout] | [INFO] [stdout] 176 | let l_rate = 100 as u64; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_l_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `day` [INFO] [stdout] --> src/gamestate.rs:421:13 [INFO] [stdout] | [INFO] [stdout] 421 | let day = self.stats.world_stats.date.day; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_day` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `month` [INFO] [stdout] --> src/gamestate.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | let month = self.stats.world_stats.date.month; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_month` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `year` [INFO] [stdout] --> src/gamestate.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | let year = self.stats.world_stats.date.year; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_year` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommDialogue` is never constructed [INFO] [stdout] --> src/assets.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CommDialogue { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConvoDialogue` is never constructed [INFO] [stdout] --> src/assets.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AssetType` is never used [INFO] [stdout] --> src/assets.rs:38:10 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum AssetType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/assets.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub enum Npcs { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 94 | Settler, [INFO] [stdout] 95 | GuildMember, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 96 | GuildHead, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 97 | ObsidianMember, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 98 | ObsidianSteward, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | ShopKeeper, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 100 | Herbalist, [INFO] [stdout] 101 | Clinic, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 102 | WeaponSmith, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 103 | Armorer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 104 | Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Npcs` 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: function `get_trade` is never used [INFO] [stdout] --> src/assets.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn get_trade() -> Vec> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_comms` is never used [INFO] [stdout] --> src/assets.rs:476:8 [INFO] [stdout] | [INFO] [stdout] 476 | pub fn load_comms(ntype: &String) -> CommDialogue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_convos` is never used [INFO] [stdout] --> src/assets.rs:528:8 [INFO] [stdout] | [INFO] [stdout] 528 | pub fn load_convos(ntype: &String) -> ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommDialogue` is never constructed [INFO] [stdout] --> src/dialogue.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct CommDialogue { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConvoDialogue` is never constructed [INFO] [stdout] --> src/dialogue.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dialogue` is never constructed [INFO] [stdout] --> src/dialogue.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Dialogue { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_comms` is never used [INFO] [stdout] --> src/dialogue.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn load_comms(ntype: &String) -> CommDialogue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_convos` is never used [INFO] [stdout] --> src/dialogue.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn load_convos(ntype: &String) -> ConvoDialogue { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/dialogue.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl Dialogue { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 141 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_cave_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn get_guild_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn get_cult_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn get_cave_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn get_guild_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn get_cult_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | pub fn retrieve_new_dialogue(&mut self) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALLETE` is never used [INFO] [stdout] --> src/enemy.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const PALLETE: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ... [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_pos`, and `inc_steps` are never used [INFO] [stdout] --> src/enemy.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Enemy { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 25 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub fn inc_steps(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/enums.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Cells { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 26 | Moss, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | Tunnel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | Inter, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | Exup, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | NPCM, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | Enemy, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 181 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | Herbalist, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cells` 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: multiple variants are never constructed [INFO] [stdout] --> src/enums.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 195 | pub enum Items { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 203 | WoodenBoard, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 204 | IronSword, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | IronClaymore, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | SteelLongsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 218 | [INFO] [stdout] 219 | BronzeGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 220 | IronGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 221 | SteelGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | IronShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 225 | SteelShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 226 | [INFO] [stdout] 227 | BasicStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 228 | PineStaff, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 229 | WoodStaff, [INFO] [stdout] 230 | MapleStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 231 | OakStaff, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | IronHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 237 | SteelHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | IronLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 241 | SteelLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | IronPickAxe, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 245 | SteelPickAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | IronPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 249 | SteelPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 250 | [INFO] [stdout] 251 | ShadowAxe, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | IronWarAxe, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | MediumArmour, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 259 | HeavyArmour, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | LargeWoodShield, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 263 | IronShield, // +10 defence [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 264 | SteelShield, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Items` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 364 | pub enum PlayerTraits { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 369 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerTraits` 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: variants `Luck`, `Trading`, `Navigation`, and `Herbalism` are never constructed [INFO] [stdout] --> src/enums.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 378 | pub enum ExpType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 382 | Luck, [INFO] [stdout] | ^^^^ [INFO] [stdout] 383 | Trading, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 384 | Lockpicking, [INFO] [stdout] 385 | Navigation, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 386 | Herbalism, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpType` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:399:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub enum Plants { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 399 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Plants` 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: variants `Hands`, `Head`, `Torso`, and `Feet` are never constructed [INFO] [stdout] --> src/enums.rs:408:5 [INFO] [stdout] | [INFO] [stdout] 403 | pub enum Equip { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 408 | Hands, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 409 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] 410 | Torso, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 411 | Feet, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Equip` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:437:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub enum Enemies { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 437 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Enemies` 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: variants `ShopNPC` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:454:5 [INFO] [stdout] | [INFO] [stdout] 450 | pub enum NPCWrap { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 454 | ShopNPC(ShopNPC), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NPCWrap` 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: variants `Interact`, `NPC`, and `Fight` are never constructed [INFO] [stdout] --> src/enums.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 469 | pub enum GUIMode { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 472 | Interact, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] 477 | Fight, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GUIMode` 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: variants `Menu` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 481 | pub enum GameMode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 482 | Menu, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 487 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameMode` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 499 | pub enum EncResult { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 503 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncResult` 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: variant `Feedback` is never constructed [INFO] [stdout] --> src/enums.rs:510:5 [INFO] [stdout] | [INFO] [stdout] 507 | pub enum InterSteps { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 510 | Feedback, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InterSteps` 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: variant `Message` is never constructed [INFO] [stdout] --> src/enums.rs:518:5 [INFO] [stdout] | [INFO] [stdout] 514 | pub enum FightSteps { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 518 | Message, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FightSteps` 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: variants `Task` and `WoodenHatch` are never constructed [INFO] [stdout] --> src/enums.rs:547:5 [INFO] [stdout] | [INFO] [stdout] 540 | pub enum EnvInter { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 547 | Task(TaskType), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 553 | WoodenHatch, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnvInter` 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: variant `BoardStartEntity` is never constructed [INFO] [stdout] --> src/enums.rs:559:5 [INFO] [stdout] | [INFO] [stdout] 558 | pub enum TaskEnv { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 559 | BoardStartEntity, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskEnv` 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: variants `Plot`, `RetrieveItem`, `PassMessage`, and `PassItem` are never constructed [INFO] [stdout] --> src/enums.rs:566:5 [INFO] [stdout] | [INFO] [stdout] 565 | pub enum TaskType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 566 | Plot, [INFO] [stdout] | ^^^^ [INFO] [stdout] 567 | RetrieveItem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 568 | PassMessage, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 569 | PassItem, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskType` 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: variants `HUnlocked` and `VUnlocked` are never constructed [INFO] [stdout] --> src/enums.rs:575:5 [INFO] [stdout] | [INFO] [stdout] 573 | pub enum Door { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 574 | HOpen, [INFO] [stdout] 575 | HUnlocked, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | VUnlocked, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Door` 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: variants `Large` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:611:5 [INFO] [stdout] | [INFO] [stdout] 608 | pub enum Settle { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 611 | Large, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Settle` 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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:622:5 [INFO] [stdout] | [INFO] [stdout] 618 | pub enum NodeType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 622 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` 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: variants `Guild`, `Church`, and `Clinic` are never constructed [INFO] [stdout] --> src/enums.rs:642:5 [INFO] [stdout] | [INFO] [stdout] 640 | pub enum ShopItem { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 641 | Item(Item), [INFO] [stdout] 642 | Guild, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 643 | Church, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 644 | Clinic, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ShopItem` 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: variants `AbandonedSettlement` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:669:5 [INFO] [stdout] | [INFO] [stdout] 662 | pub enum FeatureType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 669 | AbandonedSettlement, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 670 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FeatureType` 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: enum `DialogueTypes` is never used [INFO] [stdout] --> src/enums.rs:688:10 [INFO] [stdout] | [INFO] [stdout] 688 | pub enum DialogueTypes { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/features.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERMIT_2` is never used [INFO] [stdout] --> src/features.rs:44:7 [INFO] [stdout] | [INFO] [stdout] 44 | const HERMIT_2: &str = r#" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `feature_check` is never used [INFO] [stdout] --> src/features.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 146 | impl Features { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn feature_check(&mut self, pos: (i16, i16)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ABANDONED_SHACK_BLANK` is never used [INFO] [stdout] --> src/features/abandoned_shacks.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const ABANDONED_SHACK_BLANK: &str = r#"Null|Null|BronzeWarAxe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONSTRUCTION_BLANK` is never used [INFO] [stdout] --> src/features/construction.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CONSTRUCTION_BLANK: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRASS_PATCH_TRANS` is never used [INFO] [stdout] --> src/features/field.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const GRASS_PATCH_TRANS: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_RUIN_0` is never used [INFO] [stdout] --> src/features/ruin.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | const SMALL_RUIN_0: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STREAM` is never used [INFO] [stdout] --> src/features/streams.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const STREAM: &str = r#" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `inter_res_draw` is never used [INFO] [stdout] --> src/gui/gui_man_draw.rs:700:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl GUI { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 700 | pub fn inter_res_draw(&mut self, gui_args: &mut GuiArgs) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `npc_commdraw` is never used [INFO] [stdout] --> src/gui/npc_interactions.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl GUI { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 22 | pub fn npc_commdraw(&mut self, comms: String, gui_args: &mut GuiArgs) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CustomColors` is never used [INFO] [stdout] --> src/gui_utils.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum CustomColors { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_custom_color` is never used [INFO] [stdout] --> src/gui_utils.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl CustomColors { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 45 | pub fn to_custom_color(&self) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/item.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Item { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 66 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn new_agility_potion(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 461 | pub fn new_iron_claymore(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn new_bronze_greatsword(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 629 | pub fn new_basic_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 853 | pub fn new_bronze_shadow_axe(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 938 | pub fn new_large_wood_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 965 | pub fn new_iron_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 992 | pub fn new_steel_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1046 | pub fn new_medium_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1073 | pub fn new_heavy_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1412 | pub fn get_itype(&mut self) -> Items { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `px`, `py`, and `dead_tunnels` are never read [INFO] [stdout] --> src/map.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Map { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | pub px: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | pub py: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 22 | pub tunnels: HashMap<(usize, usize), (usize, usize)>, [INFO] [stdout] 23 | pub dead_tunnels: HashMap<(usize, usize), (usize, usize)>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Map` 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: function `format_hashmap` is never used [INFO] [stdout] --> src/map.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn format_hashmap(hashmap: HashMap<(usize, usize), (usize, usize)>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `map_to_string`, `replace_dead_tunnels`, and `center_player` are never used [INFO] [stdout] --> src/map.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 43 | impl Map { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 352 | fn map_to_string(&self, cells: &Vec>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 705 | fn replace_dead_tunnels( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 784 | pub fn center_player(&mut self, x: usize, y: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Quest` is never constructed [INFO] [stdout] --> src/notebook.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Quest { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Stage` is never constructed [INFO] [stdout] --> src/notebook.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Stage { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Place` is never constructed [INFO] [stdout] --> src/notebook.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct Place { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Person` is never constructed [INFO] [stdout] --> src/notebook.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct Person { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lore` is never constructed [INFO] [stdout] --> src/notebook.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct Lore { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `enter_knowledge` is never used [INFO] [stdout] --> src/notebook.rs:117:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Notebook { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn enter_knowledge(&mut self, sname: String, snote: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_task_npc` is never used [INFO] [stdout] --> src/npc.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn new_task_npc( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_shop_npc` is never used [INFO] [stdout] --> src/npc.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl dyn NPC { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn as_shop_npc(&self) -> Option<&ShopNPC> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ptype` is never used [INFO] [stdout] --> src/npc.rs:518:12 [INFO] [stdout] | [INFO] [stdout] 496 | impl SpawnNPC { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 518 | pub fn get_ptype(&mut self) -> PuzzleType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskNPC` is never constructed [INFO] [stdout] --> src/npc.rs:594:12 [INFO] [stdout] | [INFO] [stdout] 594 | pub struct TaskNPC { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shift_npc` is never used [INFO] [stdout] --> src/npc_utils.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn shift_npc(npc: NPCWrap, pos: (usize, usize)) -> NPCWrap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INVENTORY_MAX` is never used [INFO] [stdout] --> src/player.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const INVENTORY_MAX: usize = 75; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_pos`, `inv_full`, `move_up`, `move_down`, `move_left`, and `move_right` are never used [INFO] [stdout] --> src/player.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn inv_full(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn move_up(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn move_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn move_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn move_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_portals` is never used [INFO] [stdout] --> src/puzzle.rs:236:4 [INFO] [stdout] | [INFO] [stdout] 236 | fn place_portals(cells: Vec>) -> HashMap<(usize, usize), (usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUIN_ROOM_BLANK` is never used [INFO] [stdout] --> src/puzzle.rs:313:7 [INFO] [stdout] | [INFO] [stdout] 313 | const RUIN_ROOM_BLANK: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/puzzle.rs:328:7 [INFO] [stdout] | [INFO] [stdout] 328 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_pos` is never used [INFO] [stdout] --> src/puzzle.rs:2069:12 [INFO] [stdout] | [INFO] [stdout] 1990 | impl Puzzle { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 2069 | pub fn set_pos(&mut self, tpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `spawn_new_puzzle`, and `puzzle_check` are never used [INFO] [stdout] --> src/puzzles.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Puzzles { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn spawn_new_puzzle(&mut self, pos: (i16, i16), ptype: PuzzleType) -> PuzzleType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn puzzle_check(&mut self, pos: (i16, i16)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/settlement.rs:758:12 [INFO] [stdout] | [INFO] [stdout] 757 | impl Settlement { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 758 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 805 | pub fn new_small_settle(pos: (i16, i16)) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 928 | pub fn get_shop_from_item_pos(&mut self, pos: (i16, i16)) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 999 | pub fn set_pos(&mut self, tpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1019 | pub fn get_items_sent(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1023 | pub fn tog_items_sent(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1027 | pub fn get_shops(&mut self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1031 | pub fn get_map(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Weapons`, `Armour`, and `Consignment` are never constructed [INFO] [stdout] --> src/settlement/med_settle.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 78 | enum BlockType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 87 | Weapons, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 88 | Armour, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 89 | Consignment, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OOBSIDIAN_WALLS_BOTTOM` is never used [INFO] [stdout] --> src/settlement/obsidian_settle.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const OOBSIDIAN_WALLS_BOTTOM: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRASS_PATCH` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:173:7 [INFO] [stdout] | [INFO] [stdout] 173 | const GRASS_PATCH: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPEN_2` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:212:7 [INFO] [stdout] | [INFO] [stdout] 212 | const OPEN_2: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEAPONS_1` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:324:7 [INFO] [stdout] | [INFO] [stdout] 324 | const WEAPONS_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard App... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ARMOUR_1` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:352:7 [INFO] [stdout] | [INFO] [stdout] 352 | const ARMOUR_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard Appl... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/settlement/settle_parts.rs:396:7 [INFO] [stdout] | [INFO] [stdout] 396 | const PALETTE: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ ... [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `spawn_new_settlement`, `get_settle_pos`, `set_pass_item_content`, and `set_pass_msg_content` are never used [INFO] [stdout] --> src/settlements.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Settlements { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn spawn_new_settlement(&mut self, cpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_settle_pos(&mut self) -> Vec<(i16, i16)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn set_pass_item_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn set_pass_msg_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_clinic`, `new_herbalist`, `get_npc`, and `get_paid` are never used [INFO] [stdout] --> src/shop.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Shop { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn new_clinic( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn new_herbalist( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn get_npc(&self) -> ShopNPC { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn get_paid(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `alignment` and `renown` are never read [INFO] [stdout] --> src/stats.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct PlayerStats { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 68 | alignment: i8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 69 | renown: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state_toggle` and `player_stats` are never read [INFO] [stdout] --> src/stats.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 162 | pub struct Stats { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 163 | pub world_stats: WorldStats, [INFO] [stdout] 164 | pub state_toggle: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 165 | pub player_stats: PlayerStats, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Plot`, `PassMessage`, and `PassItem` are never constructed [INFO] [stdout] --> src/tasks.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum TaskType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 80 | Plot, [INFO] [stdout] | ^^^^ [INFO] [stdout] 81 | RetrieveItem, [INFO] [stdout] 82 | PassMessage, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 83 | PassItem, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskType` 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: variant `RetrieveItem` is never constructed [INFO] [stdout] --> src/tasks.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub enum Task { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 99 | RetrieveItem { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Task` 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: function `place_enemies` is never used [INFO] [stdout] --> src/utils.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn place_enemies(map: Vec>) -> HashMap<(usize, usize), Enemy> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_broken_range` is never used [INFO] [stdout] --> src/utils.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn gen_broken_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_items` is never used [INFO] [stdout] --> src/utils.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn init_items( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir` is never used [INFO] [stdout] --> src/utils.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn get_dir(vec: (i16, i16)) -> (i8, i8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nodemap`, `level`, `portal_cool`, and `loc_map` are never read [INFO] [stdout] --> src/gamestate.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct GameState { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | nodemap: NodeMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | level: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | portal_cool: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 87 | loc_map: Option>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `new_loc_check` is never used [INFO] [stdout] --> src/gamestate/locations.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn new_loc_check(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/gui/npc_interactions.rs:292:45 [INFO] [stdout] | [INFO] [stdout] 292 | ... cell.clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/gui/npc_interactions.rs:297:52 [INFO] [stdout] | [INFO] [stdout] 297 | ... Cell::from(cell.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/gui_utils.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn wrap_text(text: &str, max_width: usize) -> Text { [INFO] [stdout] | ^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn wrap_text(text: &str, max_width: usize) -> Text<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gamestate.rs:394:9 [INFO] [stdout] | [INFO] [stdout] 394 | sfile.write_all(json.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 394 | let _ = sfile.write_all(json.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gamestate.rs:400:9 [INFO] [stdout] | [INFO] [stdout] 400 | writeln!(nfile, "{}", filename.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 400 | let _ = writeln!(nfile, "{}", filename.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.49s [INFO] running `Command { std: "docker" "inspect" "a27fe68ee746248e2383134a12e090836c13e25b1ea336ab7606d3f65cf82ec4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a27fe68ee746248e2383134a12e090836c13e25b1ea336ab7606d3f65cf82ec4", kill_on_drop: false }` [INFO] [stdout] a27fe68ee746248e2383134a12e090836c13e25b1ea336ab7606d3f65cf82ec4