[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] b62a879802369caadf3f66647a9dd9337153ad14 [INFO] checking daffyd-jones/rust_dungeon against master#fc5af1813307d25a84d633f21e2e53c9376eb547 for pr-144386 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdaffyd-jones%2Frust_dungeon" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-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-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/daffyd-jones/rust_dungeon on toolchain fc5af1813307d25a84d633f21e2e53c9376eb547 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fc5af1813307d25a84d633f21e2e53c9376eb547" "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" "+fc5af1813307d25a84d633f21e2e53c9376eb547" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+fc5af1813307d25a84d633f21e2e53c9376eb547" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e3f1568e69e2eecc163042cfcfca2a3a6fbce3a5aba9b1ab14d007997ccce911 [INFO] running `Command { std: "docker" "start" "-a" "e3f1568e69e2eecc163042cfcfca2a3a6fbce3a5aba9b1ab14d007997ccce911", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3f1568e69e2eecc163042cfcfca2a3a6fbce3a5aba9b1ab14d007997ccce911", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3f1568e69e2eecc163042cfcfca2a3a6fbce3a5aba9b1ab14d007997ccce911", kill_on_drop: false }` [INFO] [stdout] e3f1568e69e2eecc163042cfcfca2a3a6fbce3a5aba9b1ab14d007997ccce911 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+fc5af1813307d25a84d633f21e2e53c9376eb547" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dc8eb1de00f8e042fb74ab267035381071999e6835e760ebe8fc9a11ab9e6426 [INFO] running `Command { std: "docker" "start" "-a" "dc8eb1de00f8e042fb74ab267035381071999e6835e760ebe8fc9a11ab9e6426", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.85 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Checking either v1.12.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking time-core v0.1.2 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling serde_json v1.0.127 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking castaway v0.2.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking compact_str v0.8.0 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking unicode-truncate v1.0.0 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking lru v0.12.3 [INFO] [stderr] Compiling serde_derive v1.0.208 [INFO] [stderr] Compiling strum_macros v0.26.3 [INFO] [stderr] Compiling instability v0.3.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: `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] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ShopConvos`, `ShopData`, and `new_shop_npc` [INFO] [stdout] --> src/features.rs:3:46 [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: `std::f64::consts` [INFO] [stdout] --> src/features.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::f64::consts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features.rs:200:14 [INFO] [stdout] | [INFO] [stdout] 200 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 200 - for j in (0..temp.len()) { [INFO] [stdout] 200 + 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.rs:201:18 [INFO] [stdout] | [INFO] [stdout] 201 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 201 - for i in (0..temp[0].len()) { [INFO] [stdout] 201 + 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:1531:14 [INFO] [stdout] | [INFO] [stdout] 1531 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1531 - for j in (0..temp.len()) { [INFO] [stdout] 1531 + 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.rs:1532:18 [INFO] [stdout] | [INFO] [stdout] 1532 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1532 - for i in (0..temp[0].len()) { [INFO] [stdout] 1532 + for i in 0..temp[0].len() { [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`, `Items`, `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:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, and `Margin` [INFO] [stdout] --> src/gui_utils.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | 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:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use ratatui::prelude::Alignment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Cell` [INFO] [stdout] --> src/gui_utils.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use ratatui::widgets::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Row` [INFO] [stdout] --> src/gui_utils.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use ratatui::widgets::Row; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Table` [INFO] [stdout] --> src/gui_utils.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use ratatui::widgets::Table; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/gui_utils.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/item.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | 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: `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: `Deserialize` and `Serialize` [INFO] [stdout] --> src/puzzle.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/puzzle.rs:712:14 [INFO] [stdout] | [INFO] [stdout] 712 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 712 - for j in (0..temp.len()) { [INFO] [stdout] 712 + 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:713:18 [INFO] [stdout] | [INFO] [stdout] 713 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 713 - for i in (0..temp[0].len()) { [INFO] [stdout] 713 + 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 imports: `CommDialogue` and `ConvoDialogue` [INFO] [stdout] --> src/settlement.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::dialogue::{load_comms, load_convos, CommDialogue, ConvoDialogue}; [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:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [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:20 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::enums::{Location, ToggleState}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Enemies` and `Items` [INFO] [stdout] --> src/gamestate.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | Cells, CompMode, EncMode, EncOpt, Enemies, EnvInter, FightSteps, GameMode, Interactable, Items, [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Task` [INFO] [stdout] --> src/gamestate.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::tasks::{Task, Tasks}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gen_broken_range` [INFO] [stdout] --> src/gamestate.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::utils::{gen_broken_range, in_range, loc_shop_items}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::gui_utils::{Animation, DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TaskType` and `self` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | 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:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cells`, `CompMode`, `GUIMode`, `GameMode`, `Interactable`, and `NPCWrap` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{Cells, CompMode, GUIMode, GameMode, Interactable, Location, NPCWrap}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gui_utils::GuiArgs` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | 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:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | 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:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | 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:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | 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:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | 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:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::gamestate::loc_shop_items; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc_utils::box_npc` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::npc_utils::box_npc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc_utils::wrap_nbox` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::npc_utils::wrap_nbox; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `poll`, and `read` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:17:33 [INFO] [stdout] | [INFO] [stdout] 17 | use ratatui::crossterm::event::{poll, read, Event, KeyCode}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/gamestate.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use rand::Rng; [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] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ShopConvos`, `ShopData`, and `new_shop_npc` [INFO] [stdout] --> src/features.rs:3:46 [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: `std::f64::consts` [INFO] [stdout] --> src/features.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::f64::consts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/features.rs:200:14 [INFO] [stdout] | [INFO] [stdout] 200 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 200 - for j in (0..temp.len()) { [INFO] [stdout] 200 + 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.rs:201:18 [INFO] [stdout] | [INFO] [stdout] 201 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 201 - for i in (0..temp[0].len()) { [INFO] [stdout] 201 + 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:1531:14 [INFO] [stdout] | [INFO] [stdout] 1531 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1531 - for j in (0..temp.len()) { [INFO] [stdout] 1531 + 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.rs:1532:18 [INFO] [stdout] | [INFO] [stdout] 1532 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1532 - for i in (0..temp[0].len()) { [INFO] [stdout] 1532 + for i in 0..temp[0].len() { [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`, `Items`, `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:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, `Layout`, and `Margin` [INFO] [stdout] --> src/gui_utils.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | 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:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use ratatui::prelude::Alignment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Cell` [INFO] [stdout] --> src/gui_utils.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use ratatui::widgets::Cell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Row` [INFO] [stdout] --> src/gui_utils.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use ratatui::widgets::Row; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ratatui::widgets::Table` [INFO] [stdout] --> src/gui_utils.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use ratatui::widgets::Table; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/gui_utils.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/item.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | 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: `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: `Deserialize` and `Serialize` [INFO] [stdout] --> src/puzzle.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/puzzle.rs:712:14 [INFO] [stdout] | [INFO] [stdout] 712 | for j in (0..temp.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 712 - for j in (0..temp.len()) { [INFO] [stdout] 712 + 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:713:18 [INFO] [stdout] | [INFO] [stdout] 713 | for i in (0..temp[0].len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 713 - for i in (0..temp[0].len()) { [INFO] [stdout] 713 + 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 imports: `CommDialogue` and `ConvoDialogue` [INFO] [stdout] --> src/settlement.rs:2:48 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::dialogue::{load_comms, load_convos, CommDialogue, ConvoDialogue}; [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:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::{Deserialize, Serialize}; [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:20 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::enums::{Location, ToggleState}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Enemies` and `Items` [INFO] [stdout] --> src/gamestate.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | Cells, CompMode, EncMode, EncOpt, Enemies, EnvInter, FightSteps, GameMode, Interactable, Items, [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Task` [INFO] [stdout] --> src/gamestate.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::tasks::{Task, Tasks}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gen_broken_range` [INFO] [stdout] --> src/gamestate.rs:21:20 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::utils::{gen_broken_range, in_range, loc_shop_items}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::gui_utils::{Animation, DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayStats` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TaskType` and `self` [INFO] [stdout] --> src/gamestate/environment_interactions.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | 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:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::gui_utils::{DisplayStats, GuiArgs}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cells`, `CompMode`, `GUIMode`, `GameMode`, `Interactable`, and `NPCWrap` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::enums::{Cells, CompMode, GUIMode, GameMode, Interactable, Location, NPCWrap}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::gui_utils::GuiArgs` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | 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:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | 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:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | 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:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | 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:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | 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:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::gamestate::loc_shop_items; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc_utils::box_npc` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::npc_utils::box_npc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::npc_utils::wrap_nbox` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::npc_utils::wrap_nbox; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `poll`, and `read` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:17:33 [INFO] [stdout] | [INFO] [stdout] 17 | use ratatui::crossterm::event::{poll, read, Event, KeyCode}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/gamestate/puzzle_state.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/gamestate.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stylize` [INFO] [stdout] --> src/gui_utils.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | 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:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::npc::NPC; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/features.rs:1538:26 [INFO] [stdout] | [INFO] [stdout] 1538 | (up, left) if j == temp.len() - 1 && i == temp[0].len() - 1 => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/features.rs:1740:17 [INFO] [stdout] | [INFO] [stdout] 1740 | 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: variable does not need to be mutable [INFO] [stdout] --> src/features.rs:1740:13 [INFO] [stdout] | [INFO] [stdout] 1740 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunks` [INFO] [stdout] --> src/gui/gui_man_draw.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | 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:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | 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:575:26 [INFO] [stdout] | [INFO] [stdout] 575 | 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:935:22 [INFO] [stdout] | [INFO] [stdout] 935 | 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: `b` [INFO] [stdout] --> src/gui.rs:1303:21 [INFO] [stdout] | [INFO] [stdout] 1303 | 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: `area` [INFO] [stdout] --> src/gui.rs:1308:26 [INFO] [stdout] | [INFO] [stdout] 1308 | 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 import: `Stylize` [INFO] [stdout] --> src/gui_utils.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | 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:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::npc::NPC; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [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: `left` [INFO] [stdout] --> src/features.rs:1538:26 [INFO] [stdout] | [INFO] [stdout] 1538 | (up, left) if j == temp.len() - 1 && i == temp[0].len() - 1 => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `px` is never read [INFO] [stdout] --> src/map.rs:246:17 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `py` is never read [INFO] [stdout] --> src/map.rs:247:17 [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: `rng` [INFO] [stdout] --> src/features.rs:1740:17 [INFO] [stdout] | [INFO] [stdout] 1740 | 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: variable does not need to be mutable [INFO] [stdout] --> src/features.rs:1740:13 [INFO] [stdout] | [INFO] [stdout] 1740 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunks` [INFO] [stdout] --> src/gui/gui_man_draw.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | 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:45:26 [INFO] [stdout] | [INFO] [stdout] 45 | 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:575:26 [INFO] [stdout] | [INFO] [stdout] 575 | 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: `env_inters` [INFO] [stdout] --> src/puzzle.rs:1036:32 [INFO] [stdout] | [INFO] [stdout] 1036 | 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: `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:935:22 [INFO] [stdout] | [INFO] [stdout] 935 | 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: `b` [INFO] [stdout] --> src/gui.rs:1303:21 [INFO] [stdout] | [INFO] [stdout] 1303 | 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: `essential` [INFO] [stdout] --> src/settlement.rs:1317:9 [INFO] [stdout] | [INFO] [stdout] 1317 | let essential = vec![ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_essential` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cells` [INFO] [stdout] --> src/settlement.rs:1760:9 [INFO] [stdout] | [INFO] [stdout] 1760 | 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: `area` [INFO] [stdout] --> src/gui.rs:1308:26 [INFO] [stdout] | [INFO] [stdout] 1308 | 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: unreachable pattern [INFO] [stdout] --> src/settlement.rs:2273:9 [INFO] [stdout] | [INFO] [stdout] 2273 | _ => 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.rs:2273:9 [INFO] [stdout] | [INFO] [stdout] 2270 | true => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 2271 | false => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 2272 | // false => GUILD_WALLS_RIGHT, [INFO] [stdout] 2273 | _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cells` [INFO] [stdout] --> src/settlement.rs:2326:9 [INFO] [stdout] | [INFO] [stdout] 2326 | 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: variable does not need to be mutable [INFO] [stdout] --> src/settlement.rs:2593:5 [INFO] [stdout] | [INFO] [stdout] 2593 | mut npcs: HashMap<(usize, usize), NPCWrap>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `npcs` [INFO] [stdout] --> src/settlement.rs:2689:41 [INFO] [stdout] | [INFO] [stdout] 2689 | 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: `snpcs` [INFO] [stdout] --> src/settlement.rs:2724:21 [INFO] [stdout] | [INFO] [stdout] 2724 | let (shops, snpcs) = get_npc_shops(npcs.clone(), sitems); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_snpcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/settlement.rs:2723:19 [INFO] [stdout] | [INFO] [stdout] 2723 | let (map, mut npcs, sitems, items, env_inters) = build_small_settle(false); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/settlement.rs:2781:14 [INFO] [stdout] | [INFO] [stdout] 2781 | for (sh, s) in &self.shops { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/settlement.rs:2782:26 [INFO] [stdout] | [INFO] [stdout] 2782 | for ((x, y), i) in s.get_stock() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/settlements.rs:123:37 [INFO] [stdout] | [INFO] [stdout] 123 | 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:127:36 [INFO] [stdout] | [INFO] [stdout] 127 | 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: unreachable pattern [INFO] [stdout] --> src/utils.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | _ => 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/utils.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 205 | Location::Null => HashMap::new(), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 206 | Location::Settlement(mut settle) => { [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 222 | Location::Puzzle(_puzzle) => HashMap::new(), [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] 223 | Location::Feature(_) => HashMap::new(), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 224 | _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:106:29 [INFO] [stdout] | [INFO] [stdout] 106 | 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:160:29 [INFO] [stdout] | [INFO] [stdout] 160 | 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: `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: `turn` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | 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:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | 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: value assigned to `px` is never read [INFO] [stdout] --> src/map.rs:246:17 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `py` is never read [INFO] [stdout] --> src/map.rs:247:17 [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: unreachable pattern [INFO] [stdout] --> src/gamestate/interactions.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | _ => 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:84:13 [INFO] [stdout] | [INFO] [stdout] 75 | Interactable::Item(item) => { [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 79 | Interactable::ShopItem(sitem) => {} [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] 80 | Interactable::Enemy(enemy) => {} [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 81 | Interactable::NPC(npc) => {} [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | _ => todo!(), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `st` [INFO] [stdout] --> src/gamestate/interactions.rs:68:19 [INFO] [stdout] | [INFO] [stdout] 68 | 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:79:36 [INFO] [stdout] | [INFO] [stdout] 79 | 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:80:33 [INFO] [stdout] | [INFO] [stdout] 80 | 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:81:31 [INFO] [stdout] | [INFO] [stdout] 81 | 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:82:36 [INFO] [stdout] | [INFO] [stdout] 82 | 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: `itm` [INFO] [stdout] --> src/gamestate/interactions.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | 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:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | _ => 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:221:13 [INFO] [stdout] | [INFO] [stdout] 212 | Interactable::Item(_) => self.item_interaction(), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 213 | Interactable::ShopItem(si) => self.shop_item_interaction(si), [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | Interactable::NPC(_) => self.npc_interaction(), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 215 | Interactable::Enemy(e) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 221 | _ => todo!(), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/locations.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | _ => 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:167:13 [INFO] [stdout] | [INFO] [stdout] 151 | Location::Null => false, [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 152 | Location::Settlement(mut settle) => { [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 157 | Location::Puzzle(mut puzzle) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 162 | Location::Feature(puzzle) => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 167 | _ => false, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buy_item` is never read [INFO] [stdout] --> src/gamestate/settle_state.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | 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: unused variable: `l_rate` [INFO] [stdout] --> src/gamestate.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | 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: variable does not need to be mutable [INFO] [stdout] --> src/gamestate.rs:329:13 [INFO] [stdout] | [INFO] [stdout] 329 | let mut tasks = Tasks::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `enums::TaskType` is more private than the item `EnvInter::Task::0` [INFO] [stdout] --> src/enums.rs:416:10 [INFO] [stdout] | [INFO] [stdout] 416 | Task(TaskType), [INFO] [stdout] | ^^^^^^^^ field `EnvInter::Task::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `enums::TaskType` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/enums.rs:441:1 [INFO] [stdout] | [INFO] [stdout] 441 | enum TaskType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `guild_comms`, `guild_convos`, `cult_comms`, `cult_convos`, and `file_paths` are never read [INFO] [stdout] --> src/dialogue.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct Dialogue { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 118 | pub guild_comms: CommDialogue, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 119 | pub guild_convos: ConvoDialogue, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 120 | pub cult_comms: CommDialogue, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 121 | pub cult_convos: ConvoDialogue, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 122 | pub file_paths: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_guild_comm`, `get_cult_comm`, `get_guild_convo`, `get_cult_convo`, and `retrieve_new_dialogue` are never used [INFO] [stdout] --> src/dialogue.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 229 | impl Dialogue { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn get_guild_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn get_cult_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn get_guild_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | pub fn get_cult_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | 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] 295 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | 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:25:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Cells { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Moss, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | Tunnel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | Inter, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | Exup, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | NPCM, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | Enemy, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 132 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | 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:151:5 [INFO] [stdout] | [INFO] [stdout] 143 | pub enum Items { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 151 | WoodenBoard, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 152 | IronSword, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | IronClaymore, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 161 | SteelClaymore, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | IronLongsword, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 165 | SteelLongsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 166 | [INFO] [stdout] 167 | BronzeGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 168 | IronGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 169 | SteelGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | IronShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 173 | SteelShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | [INFO] [stdout] 175 | BasicStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 176 | PineStaff, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 177 | WoodStaff, [INFO] [stdout] 178 | MapleStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 179 | OakStaff, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 180 | BludgeonStaff, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 181 | GemStaff, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | IronHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 185 | SteelHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | IronLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 189 | SteelLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | IronPickAxe, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 193 | SteelPickAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | IronPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 197 | SteelPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | ShadowAxe, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | IronWarAxe, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 203 | SteelWarAxe, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | MediumArmour, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 207 | HeavyArmour, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | LargeWoodShield, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 211 | IronShield, // +10 defence [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 212 | 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:244:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub enum PlayerTraits { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 244 | 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:257:5 [INFO] [stdout] | [INFO] [stdout] 253 | pub enum ExpType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 257 | Luck, [INFO] [stdout] | ^^^^ [INFO] [stdout] 258 | Trading, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 259 | Lockpicking, [INFO] [stdout] 260 | Navigation, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 261 | 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:274:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub enum Plants { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 274 | 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:283:5 [INFO] [stdout] | [INFO] [stdout] 278 | pub enum Equip { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 283 | Hands, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 284 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] 285 | Torso, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 286 | 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 `Luck` is never constructed [INFO] [stdout] --> src/enums.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 291 | pub enum ItemEffect { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 296 | Luck, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ItemEffect` 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:311:5 [INFO] [stdout] | [INFO] [stdout] 301 | pub enum Enemies { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 311 | 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: variant `QuestNPC` is never constructed [INFO] [stdout] --> src/enums.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 315 | pub enum NPCs { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 318 | QuestNPC, [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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 326 | pub enum NPCWrap { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 333 | 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:348:5 [INFO] [stdout] | [INFO] [stdout] 345 | pub enum GUIMode { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 348 | Interact, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] 353 | 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:358:5 [INFO] [stdout] | [INFO] [stdout] 357 | pub enum GameMode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 358 | Menu, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | 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:379:5 [INFO] [stdout] | [INFO] [stdout] 375 | pub enum EncResult { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 379 | 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 `Message` is never constructed [INFO] [stdout] --> src/enums.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub enum FightSteps { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 394 | 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:416:5 [INFO] [stdout] | [INFO] [stdout] 409 | pub enum EnvInter { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 416 | Task(TaskType), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | 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:426:5 [INFO] [stdout] | [INFO] [stdout] 425 | pub enum TaskEnv { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 426 | 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 `HUnlocked` and `VUnlocked` are never constructed [INFO] [stdout] --> src/enums.rs:433:5 [INFO] [stdout] | [INFO] [stdout] 431 | pub enum Door { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 432 | HOpen, [INFO] [stdout] 433 | HUnlocked, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | 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 `Plot`, `RetrieveItem`, `PassMessage`, and `PassItem` are never constructed [INFO] [stdout] --> src/enums.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 441 | enum TaskType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 442 | Plot, [INFO] [stdout] | ^^^^ [INFO] [stdout] 443 | RetrieveItem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 444 | PassMessage, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 445 | 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 `Large` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:477:5 [INFO] [stdout] | [INFO] [stdout] 474 | pub enum Settle { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 477 | Large, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 478 | 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:486:5 [INFO] [stdout] | [INFO] [stdout] 482 | pub enum NodeType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 486 | 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 `Clinic`, `Herbalist`, and `Consignment` are never constructed [INFO] [stdout] --> src/enums.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 490 | pub enum Shops { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 494 | Clinic, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 495 | Herbalist, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 496 | Consignment, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Shops` 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:516:5 [INFO] [stdout] | [INFO] [stdout] 509 | pub enum FeatureType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 516 | AbandonedSettlement, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 517 | 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: variants `Teleport` and `Inverted` are never constructed [INFO] [stdout] --> src/enums.rs:530:5 [INFO] [stdout] | [INFO] [stdout] 527 | pub enum PuzzleType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 530 | Teleport, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 531 | Inverted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PuzzleType` 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:535:10 [INFO] [stdout] | [INFO] [stdout] 535 | pub enum DialogueTypes { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STREAM` is never used [INFO] [stdout] --> src/features.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const STREAM: &str = r#" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/features.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRASS_PATCH_TRANS` is never used [INFO] [stdout] --> src/features.rs:342:7 [INFO] [stdout] | [INFO] [stdout] 342 | const GRASS_PATCH_TRANS: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERMIT_BLANK` is never used [INFO] [stdout] --> src/features.rs:520:7 [INFO] [stdout] | [INFO] [stdout] 520 | const HERMIT_BLANK: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERMIT_1` is never used [INFO] [stdout] --> src/features.rs:535:7 [INFO] [stdout] | [INFO] [stdout] 535 | const HERMIT_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONSTRUCTION_BLANK` is never used [INFO] [stdout] --> src/features.rs:552:7 [INFO] [stdout] | [INFO] [stdout] 552 | const CONSTRUCTION_BLANK: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE1` is never used [INFO] [stdout] --> src/features.rs:573:7 [INFO] [stdout] | [INFO] [stdout] 573 | const PALETTE1: &str = r#" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ABANDONED_SHACK_BLANK` is never used [INFO] [stdout] --> src/features.rs:635:7 [INFO] [stdout] | [INFO] [stdout] 635 | const ABANDONED_SHACK_BLANK: &str = r#"Null|Null|BronzeWarAxe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_RUIN_0` is never used [INFO] [stdout] --> src/features.rs:962:7 [INFO] [stdout] | [INFO] [stdout] 962 | const SMALL_RUIN_0: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ralette` is never used [INFO] [stdout] --> src/features.rs:1073:7 [INFO] [stdout] | [INFO] [stdout] 1073 | const ralette: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEMP` is never used [INFO] [stdout] --> src/features.rs:1090:7 [INFO] [stdout] | [INFO] [stdout] 1090 | const TEMP: &str = r#" [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `feature_check` is never used [INFO] [stdout] --> src/features.rs:1875:12 [INFO] [stdout] | [INFO] [stdout] 1724 | impl Features { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1875 | pub fn feature_check(&mut self, pos: (i16, i16)) -> bool { [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:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | 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:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl CustomColors { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 40 | 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:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl Item { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 50 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn new_antidote(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn new_luck_potion(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn new_agility_potion(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 396 | pub fn new_iron_claymore(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn new_steel_claymore(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | pub fn new_iron_longsword(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 508 | pub fn new_bronze_greatsword(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 564 | pub fn new_basic_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 620 | pub fn new_bludgeon_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 648 | pub fn new_gem_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 788 | pub fn new_bronze_shadow_axe(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 873 | pub fn new_large_wood_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 900 | pub fn new_iron_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 927 | pub fn new_steel_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 981 | pub fn new_medium_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1008 | pub fn new_heavy_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1347 | pub fn get_itype(&mut self) -> Items { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LSystem` is never constructed [INFO] [stdout] --> src/lsystems.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct LSystem { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main_rules` is never used [INFO] [stdout] --> src/lsystems.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn main_rules (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `side_quests` is never used [INFO] [stdout] --> src/lsystems.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn side_quests (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enemy_rules` is never used [INFO] [stdout] --> src/lsystems.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn enemy_rules (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `item_rules` is never used [INFO] [stdout] --> src/lsystems.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn item_rules (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LSystems` is never constructed [INFO] [stdout] --> src/lsystems.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct LSystems { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `process_enemies` are never used [INFO] [stdout] --> src/lsystems.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl LSystems { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 60 | pub fn new () -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn process_enemies (&mut self) { [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:126:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Notebook { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn enter_knowledge(&mut self, sname: String, snote: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ptype` is never used [INFO] [stdout] --> src/npc.rs:650:12 [INFO] [stdout] | [INFO] [stdout] 628 | impl SpawnNPC { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 650 | 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:726:12 [INFO] [stdout] | [INFO] [stdout] 726 | pub struct TaskNPC { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_reward`, `get_convo`, and `get_comms` are never used [INFO] [stdout] --> src/npc.rs:783:12 [INFO] [stdout] | [INFO] [stdout] 782 | impl TaskNPC { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 783 | pub fn get_reward(&mut self) -> Item { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 787 | pub fn get_convo(&mut self) -> Convo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 791 | pub fn get_comms(&mut self) -> Vec { [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:57:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn inv_full(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn move_up(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn move_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn move_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn move_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_teleport_map` is never used [INFO] [stdout] --> src/puzzle.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn make_teleport_map() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_portals` is never used [INFO] [stdout] --> src/puzzle.rs:235:4 [INFO] [stdout] | [INFO] [stdout] 235 | 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:312:7 [INFO] [stdout] | [INFO] [stdout] 312 | 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:327:7 [INFO] [stdout] | [INFO] [stdout] 327 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_teleport`, and `set_pos` are never used [INFO] [stdout] --> src/puzzle.rs:991:12 [INFO] [stdout] | [INFO] [stdout] 990 | impl Puzzle { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 991 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1055 | pub fn new_teleport(pos: (i16, i16)) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1079 | 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] 32 | pub fn spawn_new_puzzle(&mut self, pos: (i16, i16), ptype: PuzzleType) -> PuzzleType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn puzzle_check(&mut self, pos: (i16, i16)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `pal` is never used [INFO] [stdout] --> src/settlement.rs:133:7 [INFO] [stdout] | [INFO] [stdout] 133 | const pal: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ■ ¦ ± ¡ ... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPEN_1` is never used [INFO] [stdout] --> src/settlement.rs:191:7 [INFO] [stdout] | [INFO] [stdout] 191 | const OPEN_1: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERBALIST_1` is never used [INFO] [stdout] --> src/settlement.rs:219:7 [INFO] [stdout] | [INFO] [stdout] 219 | const HERBALIST_1: &str = r#"CommNPC CommNPC CommNPC ConvNPC|HealthPotion HealthPotion Salve Salve HealthPotion HealthPotion Salve Salve ... [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLINIC_1` is never used [INFO] [stdout] --> src/settlement.rs:247:7 [INFO] [stdout] | [INFO] [stdout] 247 | const CLINIC_1: &str = r#"CommNPC CommNPC CommNPC CommNPC|Null|HealthPotion [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESIDENTIAL_1` is never used [INFO] [stdout] --> src/settlement.rs:275:7 [INFO] [stdout] | [INFO] [stdout] 275 | const RESIDENTIAL_1: &str = r#"CommNPC ConvNPC CommNPC ConvNPC|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEAPONS_1` is never used [INFO] [stdout] --> src/settlement.rs:303:7 [INFO] [stdout] | [INFO] [stdout] 303 | const WEAPONS_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard Apple App... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ARMOUR_1` is never used [INFO] [stdout] --> src/settlement.rs:331:7 [INFO] [stdout] | [INFO] [stdout] 331 | const ARMOUR_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard Apple Appl... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERBALISTS` is never used [INFO] [stdout] --> src/settlement.rs:367:7 [INFO] [stdout] | [INFO] [stdout] 367 | const HERBALISTS: [&str; 1] = [HERBALIST_1]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLINICS` is never used [INFO] [stdout] --> src/settlement.rs:369:7 [INFO] [stdout] | [INFO] [stdout] 369 | const CLINICS: [&str; 1] = [CLINIC_1]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESIDENTIALS` is never used [INFO] [stdout] --> src/settlement.rs:371:7 [INFO] [stdout] | [INFO] [stdout] 371 | const RESIDENTIALS: [&str; 1] = [RESIDENTIAL_1]; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPENS` is never used [INFO] [stdout] --> src/settlement.rs:373:7 [INFO] [stdout] | [INFO] [stdout] 373 | const OPENS: [&str; 1] = [OPEN_1]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/settlement.rs:375:7 [INFO] [stdout] | [INFO] [stdout] 375 | const PALETTE: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ■ ¦ ... [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CAVE_O` is never used [INFO] [stdout] --> src/settlement.rs:377:7 [INFO] [stdout] | [INFO] [stdout] 377 | const CAVE_O: &str = r#"CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC|HealthPotion HealthPotion HealthPotion Sa... [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_med_parts` is never used [INFO] [stdout] --> src/settlement.rs:1233:4 [INFO] [stdout] | [INFO] [stdout] 1233 | fn place_med_parts( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BlockType` is never used [INFO] [stdout] --> src/settlement.rs:1293:6 [INFO] [stdout] | [INFO] [stdout] 1293 | enum BlockType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_med_settle` is never used [INFO] [stdout] --> src/settlement.rs:1307:4 [INFO] [stdout] | [INFO] [stdout] 1307 | fn build_med_settle() -> ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ITEM_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1514:7 [INFO] [stdout] | [INFO] [stdout] 1514 | const GUILD_ITEM_STALL_1: &str = r#"ShopNPC|HealthPotion Salve IronLongsword WoodenStaff HealthPotion Salve IronLongsword WoodenStaff Hea... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CLINIC_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1529:7 [INFO] [stdout] | [INFO] [stdout] 1529 | const GUILD_CLINIC_STALL_1: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_WEAPON_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1544:7 [INFO] [stdout] | [INFO] [stdout] 1544 | const GUILD_WEAPON_STALL_1: &str = r#"ShopNPC|IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ARMOUR_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1559:7 [INFO] [stdout] | [INFO] [stdout] 1559 | const GUILD_ARMOUR_STALL_1: &str = r#"ShopNPC|IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CANTEEN_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1574:7 [INFO] [stdout] | [INFO] [stdout] 1574 | const GUILD_CANTEEN_STALL_1: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_FILLER_1` is never used [INFO] [stdout] --> src/settlement.rs:1589:7 [INFO] [stdout] | [INFO] [stdout] 1589 | const GUILD_FILLER_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_OFFICE_1` is never used [INFO] [stdout] --> src/settlement.rs:1604:7 [INFO] [stdout] | [INFO] [stdout] 1604 | const GUILD_OFFICE_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_DORM_1` is never used [INFO] [stdout] --> src/settlement.rs:1631:7 [INFO] [stdout] | [INFO] [stdout] 1631 | const GUILD_DORM_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_WALLS_LEFT` is never used [INFO] [stdout] --> src/settlement.rs:1658:7 [INFO] [stdout] | [INFO] [stdout] 1658 | const GUILD_WALLS_LEFT: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_guild_walls` is never used [INFO] [stdout] --> src/settlement.rs:1713:4 [INFO] [stdout] | [INFO] [stdout] 1713 | fn add_guild_walls(mut map: Vec>, left: bool) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ITEM_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1743:7 [INFO] [stdout] | [INFO] [stdout] 1743 | const GUILD_ITEM_STALLS: [&str; 1] = [GUILD_ITEM_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CLINIC_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1744:7 [INFO] [stdout] | [INFO] [stdout] 1744 | const GUILD_CLINIC_STALLS: [&str; 1] = [GUILD_CLINIC_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_WEAPONS_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1745:7 [INFO] [stdout] | [INFO] [stdout] 1745 | const GUILD_WEAPONS_STALLS: [&str; 1] = [GUILD_WEAPON_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ARMOUR_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1746:7 [INFO] [stdout] | [INFO] [stdout] 1746 | const GUILD_ARMOUR_STALLS: [&str; 1] = [GUILD_ARMOUR_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CANTEEN_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1747:7 [INFO] [stdout] | [INFO] [stdout] 1747 | const GUILD_CANTEEN_STALLS: [&str; 1] = [GUILD_CANTEEN_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_FILLERS` is never used [INFO] [stdout] --> src/settlement.rs:1748:7 [INFO] [stdout] | [INFO] [stdout] 1748 | const GUILD_FILLERS: [&str; 1] = [GUILD_FILLER_1]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_OFFICES` is never used [INFO] [stdout] --> src/settlement.rs:1749:7 [INFO] [stdout] | [INFO] [stdout] 1749 | const GUILD_OFFICES: [&str; 1] = [GUILD_OFFICE_1]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_DORMS` is never used [INFO] [stdout] --> src/settlement.rs:1750:7 [INFO] [stdout] | [INFO] [stdout] 1750 | const GUILD_DORMS: [&str; 1] = [GUILD_DORM_1]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_guild_settle` is never used [INFO] [stdout] --> src/settlement.rs:1752:4 [INFO] [stdout] | [INFO] [stdout] 1752 | fn build_guild_settle() -> ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_guild_parts` is never used [INFO] [stdout] --> src/settlement.rs:2017:4 [INFO] [stdout] | [INFO] [stdout] 2017 | fn place_guild_parts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_small_settle`, `set_pos`, `get_items_sent`, `tog_items_sent`, and `get_shops` are never used [INFO] [stdout] --> src/settlement.rs:2663:12 [INFO] [stdout] | [INFO] [stdout] 2662 | impl Settlement { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 2663 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 2710 | pub fn new_small_settle(pos: (i16, i16)) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2850 | pub fn set_pos(&mut self, tpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2870 | pub fn get_items_sent(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2874 | pub fn tog_items_sent(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2878 | pub fn get_shops(&mut self) -> HashMap { [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:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Settlements { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn spawn_new_settlement(&mut self, cpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_settle_pos(&mut self) -> Vec<(i16, i16)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn set_pass_item_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn set_pass_msg_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_clinic` and `new_herbalist` are never used [INFO] [stdout] --> src/shop.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Shop { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn new_clinic(sname: String, npc: NPCWrap, stock: HashMap<(usize, usize), Item>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn new_herbalist( [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:97:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub enum Task { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 97 | 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:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | 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:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | 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:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn init_items( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir` is never used [INFO] [stdout] --> src/utils.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn get_dir(vec: (i16, i16)) -> (i8, i8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nodemap`, `level`, `npc_comms`, `npc_convos`, `portal_cool`, and `loc_map` are never read [INFO] [stdout] --> src/gamestate.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct GameState { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | nodemap: NodeMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | level: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | npc_comms: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 85 | npc_convos: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | portal_cool: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 95 | 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:69:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn new_loc_check(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `portal_shift` and `portal_check` are never used [INFO] [stdout] --> src/gamestate/puzzle_state.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl GameState { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | fn portal_shift(&mut self, npos: (usize, usize), ppos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn portal_check(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ralette` should have an upper case name [INFO] [stdout] --> src/features.rs:1073:7 [INFO] [stdout] | [INFO] [stdout] 1073 | const ralette: &str = r#" [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `RALETTE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env_inters` [INFO] [stdout] --> src/puzzle.rs:1036:32 [INFO] [stdout] | [INFO] [stdout] 1036 | 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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/gui/npc_interactions.rs:291:45 [INFO] [stdout] | [INFO] [stdout] 291 | ... 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:296:52 [INFO] [stdout] | [INFO] [stdout] 296 | ... 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:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | 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] 62 | pub fn wrap_text(text: &str, max_width: usize) -> Text<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `pal` should have an upper case name [INFO] [stdout] --> src/settlement.rs:133:7 [INFO] [stdout] | [INFO] [stdout] 133 | const pal: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ■ ¦ ± ¡ ... [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `PAL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gamestate.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | 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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 454 | 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:460:9 [INFO] [stdout] | [INFO] [stdout] 460 | 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] 460 | let _ = writeln!(nfile, "{}", filename.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `essential` [INFO] [stdout] --> src/settlement.rs:1317:9 [INFO] [stdout] | [INFO] [stdout] 1317 | let essential = vec![ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_essential` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cells` [INFO] [stdout] --> src/settlement.rs:1760:9 [INFO] [stdout] | [INFO] [stdout] 1760 | 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: unreachable pattern [INFO] [stdout] --> src/settlement.rs:2273:9 [INFO] [stdout] | [INFO] [stdout] 2273 | _ => 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.rs:2273:9 [INFO] [stdout] | [INFO] [stdout] 2270 | true => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 2271 | false => OBSIDIAN_WALLS_BOTTOM, [INFO] [stdout] | ----- matches some of the same values [INFO] [stdout] 2272 | // false => GUILD_WALLS_RIGHT, [INFO] [stdout] 2273 | _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cells` [INFO] [stdout] --> src/settlement.rs:2326:9 [INFO] [stdout] | [INFO] [stdout] 2326 | 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: variable does not need to be mutable [INFO] [stdout] --> src/settlement.rs:2593:5 [INFO] [stdout] | [INFO] [stdout] 2593 | mut npcs: HashMap<(usize, usize), NPCWrap>, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `npcs` [INFO] [stdout] --> src/settlement.rs:2689:41 [INFO] [stdout] | [INFO] [stdout] 2689 | 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: `snpcs` [INFO] [stdout] --> src/settlement.rs:2724:21 [INFO] [stdout] | [INFO] [stdout] 2724 | let (shops, snpcs) = get_npc_shops(npcs.clone(), sitems); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_snpcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/settlement.rs:2723:19 [INFO] [stdout] | [INFO] [stdout] 2723 | let (map, mut npcs, sitems, items, env_inters) = build_small_settle(false); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/settlement.rs:2781:14 [INFO] [stdout] | [INFO] [stdout] 2781 | for (sh, s) in &self.shops { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/settlement.rs:2782:26 [INFO] [stdout] | [INFO] [stdout] 2782 | for ((x, y), i) in s.get_stock() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/settlements.rs:123:37 [INFO] [stdout] | [INFO] [stdout] 123 | 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:127:36 [INFO] [stdout] | [INFO] [stdout] 127 | 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: unreachable pattern [INFO] [stdout] --> src/utils.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | _ => 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/utils.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 205 | Location::Null => HashMap::new(), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 206 | Location::Settlement(mut settle) => { [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 222 | Location::Puzzle(_puzzle) => HashMap::new(), [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] 223 | Location::Feature(_) => HashMap::new(), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 224 | _ => todo!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/gamestate/enemy_encounter.rs:106:29 [INFO] [stdout] | [INFO] [stdout] 106 | 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:160:29 [INFO] [stdout] | [INFO] [stdout] 160 | 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:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | 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:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | 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/interactions.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | _ => 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:84:13 [INFO] [stdout] | [INFO] [stdout] 75 | Interactable::Item(item) => { [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 79 | Interactable::ShopItem(sitem) => {} [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] 80 | Interactable::Enemy(enemy) => {} [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 81 | Interactable::NPC(npc) => {} [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | _ => todo!(), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `st` [INFO] [stdout] --> src/gamestate/interactions.rs:68:19 [INFO] [stdout] | [INFO] [stdout] 68 | 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:79:36 [INFO] [stdout] | [INFO] [stdout] 79 | 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:80:33 [INFO] [stdout] | [INFO] [stdout] 80 | 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:81:31 [INFO] [stdout] | [INFO] [stdout] 81 | 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:82:36 [INFO] [stdout] | [INFO] [stdout] 82 | 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: `itm` [INFO] [stdout] --> src/gamestate/interactions.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | 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:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | _ => 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:221:13 [INFO] [stdout] | [INFO] [stdout] 212 | Interactable::Item(_) => self.item_interaction(), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 213 | Interactable::ShopItem(si) => self.shop_item_interaction(si), [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | Interactable::NPC(_) => self.npc_interaction(), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 215 | Interactable::Enemy(e) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 221 | _ => todo!(), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/gamestate/locations.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | _ => 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:167:13 [INFO] [stdout] | [INFO] [stdout] 151 | Location::Null => false, [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 152 | Location::Settlement(mut settle) => { [INFO] [stdout] | -------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 157 | Location::Puzzle(mut puzzle) => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 162 | Location::Feature(puzzle) => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 167 | _ => false, [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `buy_item` is never read [INFO] [stdout] --> src/gamestate/settle_state.rs:183:17 [INFO] [stdout] | [INFO] [stdout] 183 | 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: unused variable: `l_rate` [INFO] [stdout] --> src/gamestate.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | 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: variable does not need to be mutable [INFO] [stdout] --> src/gamestate.rs:329:13 [INFO] [stdout] | [INFO] [stdout] 329 | let mut tasks = Tasks::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `enums::TaskType` is more private than the item `EnvInter::Task::0` [INFO] [stdout] --> src/enums.rs:416:10 [INFO] [stdout] | [INFO] [stdout] 416 | Task(TaskType), [INFO] [stdout] | ^^^^^^^^ field `EnvInter::Task::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `enums::TaskType` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/enums.rs:441:1 [INFO] [stdout] | [INFO] [stdout] 441 | enum TaskType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `guild_comms`, `guild_convos`, `cult_comms`, `cult_convos`, and `file_paths` are never read [INFO] [stdout] --> src/dialogue.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct Dialogue { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 118 | pub guild_comms: CommDialogue, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 119 | pub guild_convos: ConvoDialogue, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 120 | pub cult_comms: CommDialogue, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 121 | pub cult_convos: ConvoDialogue, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 122 | pub file_paths: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_guild_comm`, `get_cult_comm`, `get_guild_convo`, `get_cult_convo`, and `retrieve_new_dialogue` are never used [INFO] [stdout] --> src/dialogue.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 229 | impl Dialogue { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn get_guild_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn get_cult_comm(&mut self) -> &String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn get_guild_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | pub fn get_cult_convo(&mut self) -> &Convo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | 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] 295 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | 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:25:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Cells { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Moss, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | Tunnel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | Inter, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | Exup, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | NPCM, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | Enemy, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 132 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | 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:151:5 [INFO] [stdout] | [INFO] [stdout] 143 | pub enum Items { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 151 | WoodenBoard, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 152 | IronSword, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | IronClaymore, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 161 | SteelClaymore, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | IronLongsword, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 165 | SteelLongsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 166 | [INFO] [stdout] 167 | BronzeGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 168 | IronGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 169 | SteelGreatsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | IronShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 173 | SteelShortsword, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | [INFO] [stdout] 175 | BasicStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 176 | PineStaff, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 177 | WoodStaff, [INFO] [stdout] 178 | MapleStaff, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 179 | OakStaff, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 180 | BludgeonStaff, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 181 | GemStaff, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | IronHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 185 | SteelHeavyAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | IronLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 189 | SteelLightAxe, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | IronPickAxe, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 193 | SteelPickAxe, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | IronPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 197 | SteelPickHammer, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 198 | [INFO] [stdout] 199 | ShadowAxe, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | IronWarAxe, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 203 | SteelWarAxe, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | MediumArmour, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 207 | HeavyArmour, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | LargeWoodShield, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 211 | IronShield, // +10 defence [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 212 | 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:244:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub enum PlayerTraits { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 244 | 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:257:5 [INFO] [stdout] | [INFO] [stdout] 253 | pub enum ExpType { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 257 | Luck, [INFO] [stdout] | ^^^^ [INFO] [stdout] 258 | Trading, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 259 | Lockpicking, [INFO] [stdout] 260 | Navigation, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 261 | 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:274:5 [INFO] [stdout] | [INFO] [stdout] 265 | pub enum Plants { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 274 | 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:283:5 [INFO] [stdout] | [INFO] [stdout] 278 | pub enum Equip { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 283 | Hands, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 284 | Head, [INFO] [stdout] | ^^^^ [INFO] [stdout] 285 | Torso, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 286 | 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 `Luck` is never constructed [INFO] [stdout] --> src/enums.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 291 | pub enum ItemEffect { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 296 | Luck, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ItemEffect` 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:311:5 [INFO] [stdout] | [INFO] [stdout] 301 | pub enum Enemies { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 311 | 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: variant `QuestNPC` is never constructed [INFO] [stdout] --> src/enums.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 315 | pub enum NPCs { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 318 | QuestNPC, [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: variant `Null` is never constructed [INFO] [stdout] --> src/enums.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 326 | pub enum NPCWrap { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 333 | 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:348:5 [INFO] [stdout] | [INFO] [stdout] 345 | pub enum GUIMode { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 348 | Interact, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 352 | NPC, [INFO] [stdout] | ^^^ [INFO] [stdout] 353 | 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:358:5 [INFO] [stdout] | [INFO] [stdout] 357 | pub enum GameMode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 358 | Menu, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | 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:379:5 [INFO] [stdout] | [INFO] [stdout] 375 | pub enum EncResult { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 379 | 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 `Message` is never constructed [INFO] [stdout] --> src/enums.rs:394:5 [INFO] [stdout] | [INFO] [stdout] 390 | pub enum FightSteps { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 394 | 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:416:5 [INFO] [stdout] | [INFO] [stdout] 409 | pub enum EnvInter { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 416 | Task(TaskType), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | 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:426:5 [INFO] [stdout] | [INFO] [stdout] 425 | pub enum TaskEnv { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 426 | 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 `HUnlocked` and `VUnlocked` are never constructed [INFO] [stdout] --> src/enums.rs:433:5 [INFO] [stdout] | [INFO] [stdout] 431 | pub enum Door { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 432 | HOpen, [INFO] [stdout] 433 | HUnlocked, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 436 | 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 `Plot`, `RetrieveItem`, `PassMessage`, and `PassItem` are never constructed [INFO] [stdout] --> src/enums.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 441 | enum TaskType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 442 | Plot, [INFO] [stdout] | ^^^^ [INFO] [stdout] 443 | RetrieveItem, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 444 | PassMessage, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 445 | 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 `Large` and `Null` are never constructed [INFO] [stdout] --> src/enums.rs:477:5 [INFO] [stdout] | [INFO] [stdout] 474 | pub enum Settle { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 477 | Large, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 478 | 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:486:5 [INFO] [stdout] | [INFO] [stdout] 482 | pub enum NodeType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 486 | 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 `Clinic`, `Herbalist`, and `Consignment` are never constructed [INFO] [stdout] --> src/enums.rs:494:5 [INFO] [stdout] | [INFO] [stdout] 490 | pub enum Shops { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 494 | Clinic, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 495 | Herbalist, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 496 | Consignment, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Shops` 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:516:5 [INFO] [stdout] | [INFO] [stdout] 509 | pub enum FeatureType { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 516 | AbandonedSettlement, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 517 | 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: variants `Teleport` and `Inverted` are never constructed [INFO] [stdout] --> src/enums.rs:530:5 [INFO] [stdout] | [INFO] [stdout] 527 | pub enum PuzzleType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 530 | Teleport, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 531 | Inverted, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PuzzleType` 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:535:10 [INFO] [stdout] | [INFO] [stdout] 535 | pub enum DialogueTypes { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STREAM` is never used [INFO] [stdout] --> src/features.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const STREAM: &str = r#" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/features.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRASS_PATCH_TRANS` is never used [INFO] [stdout] --> src/features.rs:342:7 [INFO] [stdout] | [INFO] [stdout] 342 | const GRASS_PATCH_TRANS: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERMIT_BLANK` is never used [INFO] [stdout] --> src/features.rs:520:7 [INFO] [stdout] | [INFO] [stdout] 520 | const HERMIT_BLANK: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERMIT_1` is never used [INFO] [stdout] --> src/features.rs:535:7 [INFO] [stdout] | [INFO] [stdout] 535 | const HERMIT_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CONSTRUCTION_BLANK` is never used [INFO] [stdout] --> src/features.rs:552:7 [INFO] [stdout] | [INFO] [stdout] 552 | const CONSTRUCTION_BLANK: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE1` is never used [INFO] [stdout] --> src/features.rs:573:7 [INFO] [stdout] | [INFO] [stdout] 573 | const PALETTE1: &str = r#" [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ABANDONED_SHACK_BLANK` is never used [INFO] [stdout] --> src/features.rs:635:7 [INFO] [stdout] | [INFO] [stdout] 635 | const ABANDONED_SHACK_BLANK: &str = r#"Null|Null|BronzeWarAxe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SMALL_RUIN_0` is never used [INFO] [stdout] --> src/features.rs:962:7 [INFO] [stdout] | [INFO] [stdout] 962 | const SMALL_RUIN_0: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ralette` is never used [INFO] [stdout] --> src/features.rs:1073:7 [INFO] [stdout] | [INFO] [stdout] 1073 | const ralette: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEMP` is never used [INFO] [stdout] --> src/features.rs:1090:7 [INFO] [stdout] | [INFO] [stdout] 1090 | const TEMP: &str = r#" [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `feature_check` is never used [INFO] [stdout] --> src/features.rs:1875:12 [INFO] [stdout] | [INFO] [stdout] 1724 | impl Features { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1875 | pub fn feature_check(&mut self, pos: (i16, i16)) -> bool { [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:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | 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:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl CustomColors { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 40 | 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:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl Item { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 50 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn new_antidote(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn new_luck_potion(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn new_agility_potion(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 396 | pub fn new_iron_claymore(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn new_steel_claymore(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | pub fn new_iron_longsword(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 508 | pub fn new_bronze_greatsword(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 564 | pub fn new_basic_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 620 | pub fn new_bludgeon_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 648 | pub fn new_gem_staff(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 788 | pub fn new_bronze_shadow_axe(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 873 | pub fn new_large_wood_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 900 | pub fn new_iron_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 927 | pub fn new_steel_shield(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 981 | pub fn new_medium_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1008 | pub fn new_heavy_armour(x: usize, y: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1347 | pub fn get_itype(&mut self) -> Items { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LSystem` is never constructed [INFO] [stdout] --> src/lsystems.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct LSystem { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main_rules` is never used [INFO] [stdout] --> src/lsystems.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn main_rules (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `side_quests` is never used [INFO] [stdout] --> src/lsystems.rs:19:4 [INFO] [stdout] | [INFO] [stdout] 19 | fn side_quests (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enemy_rules` is never used [INFO] [stdout] --> src/lsystems.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn enemy_rules (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `item_rules` is never used [INFO] [stdout] --> src/lsystems.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn item_rules (axiom: String) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LSystems` is never constructed [INFO] [stdout] --> src/lsystems.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct LSystems { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `process_enemies` are never used [INFO] [stdout] --> src/lsystems.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl LSystems { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 60 | pub fn new () -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn process_enemies (&mut self) { [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:126:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Notebook { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn enter_knowledge(&mut self, sname: String, snote: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_ptype` is never used [INFO] [stdout] --> src/npc.rs:650:12 [INFO] [stdout] | [INFO] [stdout] 628 | impl SpawnNPC { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 650 | 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:726:12 [INFO] [stdout] | [INFO] [stdout] 726 | pub struct TaskNPC { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_reward`, `get_convo`, and `get_comms` are never used [INFO] [stdout] --> src/npc.rs:783:12 [INFO] [stdout] | [INFO] [stdout] 782 | impl TaskNPC { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 783 | pub fn get_reward(&mut self) -> Item { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 787 | pub fn get_convo(&mut self) -> Convo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 791 | pub fn get_comms(&mut self) -> Vec { [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:57:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_pos(&mut self, pos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn inv_full(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn move_up(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn move_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn move_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn move_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_teleport_map` is never used [INFO] [stdout] --> src/puzzle.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn make_teleport_map() -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_portals` is never used [INFO] [stdout] --> src/puzzle.rs:235:4 [INFO] [stdout] | [INFO] [stdout] 235 | 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:312:7 [INFO] [stdout] | [INFO] [stdout] 312 | 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:327:7 [INFO] [stdout] | [INFO] [stdout] 327 | const PALETTE: &str = r#" [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_teleport`, and `set_pos` are never used [INFO] [stdout] --> src/puzzle.rs:991:12 [INFO] [stdout] | [INFO] [stdout] 990 | impl Puzzle { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 991 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1055 | pub fn new_teleport(pos: (i16, i16)) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1079 | 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] 32 | pub fn spawn_new_puzzle(&mut self, pos: (i16, i16), ptype: PuzzleType) -> PuzzleType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn puzzle_check(&mut self, pos: (i16, i16)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `pal` is never used [INFO] [stdout] --> src/settlement.rs:133:7 [INFO] [stdout] | [INFO] [stdout] 133 | const pal: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ■ ¦ ± ¡ ... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPEN_1` is never used [INFO] [stdout] --> src/settlement.rs:191:7 [INFO] [stdout] | [INFO] [stdout] 191 | const OPEN_1: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERBALIST_1` is never used [INFO] [stdout] --> src/settlement.rs:219:7 [INFO] [stdout] | [INFO] [stdout] 219 | const HERBALIST_1: &str = r#"CommNPC CommNPC CommNPC ConvNPC|HealthPotion HealthPotion Salve Salve HealthPotion HealthPotion Salve Salve ... [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLINIC_1` is never used [INFO] [stdout] --> src/settlement.rs:247:7 [INFO] [stdout] | [INFO] [stdout] 247 | const CLINIC_1: &str = r#"CommNPC CommNPC CommNPC CommNPC|Null|HealthPotion [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESIDENTIAL_1` is never used [INFO] [stdout] --> src/settlement.rs:275:7 [INFO] [stdout] | [INFO] [stdout] 275 | const RESIDENTIAL_1: &str = r#"CommNPC ConvNPC CommNPC ConvNPC|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WEAPONS_1` is never used [INFO] [stdout] --> src/settlement.rs:303:7 [INFO] [stdout] | [INFO] [stdout] 303 | const WEAPONS_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard Apple App... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ARMOUR_1` is never used [INFO] [stdout] --> src/settlement.rs:331:7 [INFO] [stdout] | [INFO] [stdout] 331 | const ARMOUR_1: &str = r#"CommNPC CommNPC CommNPC ShopNPC|HealthPotion HealthPotion HealthPotion Salve Salve Dowel WoodenBoard Apple Appl... [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HERBALISTS` is never used [INFO] [stdout] --> src/settlement.rs:367:7 [INFO] [stdout] | [INFO] [stdout] 367 | const HERBALISTS: [&str; 1] = [HERBALIST_1]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLINICS` is never used [INFO] [stdout] --> src/settlement.rs:369:7 [INFO] [stdout] | [INFO] [stdout] 369 | const CLINICS: [&str; 1] = [CLINIC_1]; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESIDENTIALS` is never used [INFO] [stdout] --> src/settlement.rs:371:7 [INFO] [stdout] | [INFO] [stdout] 371 | const RESIDENTIALS: [&str; 1] = [RESIDENTIAL_1]; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPENS` is never used [INFO] [stdout] --> src/settlement.rs:373:7 [INFO] [stdout] | [INFO] [stdout] 373 | const OPENS: [&str; 1] = [OPEN_1]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE` is never used [INFO] [stdout] --> src/settlement.rs:375:7 [INFO] [stdout] | [INFO] [stdout] 375 | const PALETTE: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ■ ¦ ... [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CAVE_O` is never used [INFO] [stdout] --> src/settlement.rs:377:7 [INFO] [stdout] | [INFO] [stdout] 377 | const CAVE_O: &str = r#"CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC CommNPC|HealthPotion HealthPotion HealthPotion Sa... [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_med_parts` is never used [INFO] [stdout] --> src/settlement.rs:1233:4 [INFO] [stdout] | [INFO] [stdout] 1233 | fn place_med_parts( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BlockType` is never used [INFO] [stdout] --> src/settlement.rs:1293:6 [INFO] [stdout] | [INFO] [stdout] 1293 | enum BlockType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_med_settle` is never used [INFO] [stdout] --> src/settlement.rs:1307:4 [INFO] [stdout] | [INFO] [stdout] 1307 | fn build_med_settle() -> ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ITEM_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1514:7 [INFO] [stdout] | [INFO] [stdout] 1514 | const GUILD_ITEM_STALL_1: &str = r#"ShopNPC|HealthPotion Salve IronLongsword WoodenStaff HealthPotion Salve IronLongsword WoodenStaff Hea... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CLINIC_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1529:7 [INFO] [stdout] | [INFO] [stdout] 1529 | const GUILD_CLINIC_STALL_1: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_WEAPON_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1544:7 [INFO] [stdout] | [INFO] [stdout] 1544 | const GUILD_WEAPON_STALL_1: &str = r#"ShopNPC|IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ARMOUR_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1559:7 [INFO] [stdout] | [INFO] [stdout] 1559 | const GUILD_ARMOUR_STALL_1: &str = r#"ShopNPC|IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword WoodenStaff IronLongsword... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CANTEEN_STALL_1` is never used [INFO] [stdout] --> src/settlement.rs:1574:7 [INFO] [stdout] | [INFO] [stdout] 1574 | const GUILD_CANTEEN_STALL_1: &str = r#"CommNPC|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_FILLER_1` is never used [INFO] [stdout] --> src/settlement.rs:1589:7 [INFO] [stdout] | [INFO] [stdout] 1589 | const GUILD_FILLER_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_OFFICE_1` is never used [INFO] [stdout] --> src/settlement.rs:1604:7 [INFO] [stdout] | [INFO] [stdout] 1604 | const GUILD_OFFICE_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_DORM_1` is never used [INFO] [stdout] --> src/settlement.rs:1631:7 [INFO] [stdout] | [INFO] [stdout] 1631 | const GUILD_DORM_1: &str = r#"Null|Null|Null [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_WALLS_LEFT` is never used [INFO] [stdout] --> src/settlement.rs:1658:7 [INFO] [stdout] | [INFO] [stdout] 1658 | const GUILD_WALLS_LEFT: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_guild_walls` is never used [INFO] [stdout] --> src/settlement.rs:1713:4 [INFO] [stdout] | [INFO] [stdout] 1713 | fn add_guild_walls(mut map: Vec>, left: bool) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ITEM_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1743:7 [INFO] [stdout] | [INFO] [stdout] 1743 | const GUILD_ITEM_STALLS: [&str; 1] = [GUILD_ITEM_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CLINIC_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1744:7 [INFO] [stdout] | [INFO] [stdout] 1744 | const GUILD_CLINIC_STALLS: [&str; 1] = [GUILD_CLINIC_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_WEAPONS_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1745:7 [INFO] [stdout] | [INFO] [stdout] 1745 | const GUILD_WEAPONS_STALLS: [&str; 1] = [GUILD_WEAPON_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_ARMOUR_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1746:7 [INFO] [stdout] | [INFO] [stdout] 1746 | const GUILD_ARMOUR_STALLS: [&str; 1] = [GUILD_ARMOUR_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_CANTEEN_STALLS` is never used [INFO] [stdout] --> src/settlement.rs:1747:7 [INFO] [stdout] | [INFO] [stdout] 1747 | const GUILD_CANTEEN_STALLS: [&str; 1] = [GUILD_CANTEEN_STALL_1]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_FILLERS` is never used [INFO] [stdout] --> src/settlement.rs:1748:7 [INFO] [stdout] | [INFO] [stdout] 1748 | const GUILD_FILLERS: [&str; 1] = [GUILD_FILLER_1]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_OFFICES` is never used [INFO] [stdout] --> src/settlement.rs:1749:7 [INFO] [stdout] | [INFO] [stdout] 1749 | const GUILD_OFFICES: [&str; 1] = [GUILD_OFFICE_1]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GUILD_DORMS` is never used [INFO] [stdout] --> src/settlement.rs:1750:7 [INFO] [stdout] | [INFO] [stdout] 1750 | const GUILD_DORMS: [&str; 1] = [GUILD_DORM_1]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_guild_settle` is never used [INFO] [stdout] --> src/settlement.rs:1752:4 [INFO] [stdout] | [INFO] [stdout] 1752 | fn build_guild_settle() -> ( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `place_guild_parts` is never used [INFO] [stdout] --> src/settlement.rs:2017:4 [INFO] [stdout] | [INFO] [stdout] 2017 | fn place_guild_parts( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_small_settle`, `set_pos`, `get_items_sent`, `tog_items_sent`, and `get_shops` are never used [INFO] [stdout] --> src/settlement.rs:2663:12 [INFO] [stdout] | [INFO] [stdout] 2662 | impl Settlement { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 2663 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 2710 | pub fn new_small_settle(pos: (i16, i16)) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2850 | pub fn set_pos(&mut self, tpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2870 | pub fn get_items_sent(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2874 | pub fn tog_items_sent(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2878 | pub fn get_shops(&mut self) -> HashMap { [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:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Settlements { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn spawn_new_settlement(&mut self, cpos: (i16, i16)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_settle_pos(&mut self) -> Vec<(i16, i16)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn set_pass_item_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn set_pass_msg_content(&self, task: Task) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new_clinic` and `new_herbalist` are never used [INFO] [stdout] --> src/shop.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Shop { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn new_clinic(sname: String, npc: NPCWrap, stock: HashMap<(usize, usize), Item>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn new_herbalist( [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:97:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub enum Task { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 97 | 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:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | 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:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | 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:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn init_items( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir` is never used [INFO] [stdout] --> src/utils.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn get_dir(vec: (i16, i16)) -> (i8, i8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nodemap`, `level`, `npc_comms`, `npc_convos`, `portal_cool`, and `loc_map` are never read [INFO] [stdout] --> src/gamestate.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct GameState { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | nodemap: NodeMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | level: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | npc_comms: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 85 | npc_convos: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | portal_cool: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 95 | 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:69:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn new_loc_check(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `portal_shift` and `portal_check` are never used [INFO] [stdout] --> src/gamestate/puzzle_state.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 20 | impl GameState { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | fn portal_shift(&mut self, npos: (usize, usize), ppos: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn portal_check(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ralette` should have an upper case name [INFO] [stdout] --> src/features.rs:1073:7 [INFO] [stdout] | [INFO] [stdout] 1073 | const ralette: &str = r#" [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `RALETTE` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` 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:291:45 [INFO] [stdout] | [INFO] [stdout] 291 | ... 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:296:52 [INFO] [stdout] | [INFO] [stdout] 296 | ... 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:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | 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] 62 | pub fn wrap_text(text: &str, max_width: usize) -> Text<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `pal` should have an upper case name [INFO] [stdout] --> src/settlement.rs:133:7 [INFO] [stdout] | [INFO] [stdout] 133 | const pal: &str = "empty: ' . , ' * | wall: ▒ | other ▓ ░ ~ | pipes: ═ ║ ╣ ╠ ╩ ╦ ╗ ╝ ╚ ╔ ╬ ┐ └ ┴ ┬ ├ ─ ┼ ┘ ┌ ┤ │ ≡ ° × ¤ ¸ ¨ · ■ ¦ ± ¡ ... [INFO] [stdout] | ^^^ help: convert the identifier to upper case: `PAL` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/gamestate.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | 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)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 454 | 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:460:9 [INFO] [stdout] | [INFO] [stdout] 460 | 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] 460 | let _ = writeln!(nfile, "{}", filename.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.67s [INFO] running `Command { std: "docker" "inspect" "dc8eb1de00f8e042fb74ab267035381071999e6835e760ebe8fc9a11ab9e6426", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc8eb1de00f8e042fb74ab267035381071999e6835e760ebe8fc9a11ab9e6426", kill_on_drop: false }` [INFO] [stdout] dc8eb1de00f8e042fb74ab267035381071999e6835e760ebe8fc9a11ab9e6426