[INFO] cloning repository https://github.com/aubrika/ecdysium [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aubrika/ecdysium" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faubrika%2Fecdysium", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faubrika%2Fecdysium'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f7b3a7158ef91abc27ef72b9860b7764f7e30f26 [INFO] checking aubrika/ecdysium against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faubrika%2Fecdysium" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/aubrika/ecdysium [INFO] finished tweaking git repo https://github.com/aubrika/ecdysium [INFO] tweaked toml for git repo https://github.com/aubrika/ecdysium written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/aubrika/ecdysium on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/aubrika/ecdysium already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: binary `atlas_view` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /workspace/builds/worker-3-tc1/source/target/.../atlas_view [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::non_kebab_case_bins` is set to `warn` by default [INFO] [stderr] help: to change the binary name to `atlas-view`, convert the file stem [INFO] [stderr] | [INFO] [stderr] 1 - src/bin/atlas_view.rs [INFO] [stderr] 1 + src/bin/atlas-view.rs [INFO] [stderr] | [INFO] [stderr] warning: binary `extract_cells` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /workspace/builds/worker-3-tc1/source/target/.../extract_cells [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `extract-cells`, convert the file stem [INFO] [stderr] | [INFO] [stderr] 1 - src/bin/extract_cells.rs [INFO] [stderr] 1 + src/bin/extract-cells.rs [INFO] [stderr] | [INFO] [stderr] warning: binary `slice_atlas` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /workspace/builds/worker-3-tc1/source/target/.../slice_atlas [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `slice-atlas`, convert the file stem [INFO] [stderr] | [INFO] [stderr] 1 - src/bin/slice_atlas.rs [INFO] [stderr] 1 + src/bin/slice-atlas.rs [INFO] [stderr] | [INFO] [stderr] warning: `ecdysium` (manifest) generated 3 warnings [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded miniquad v0.4.8 [INFO] [stderr] Downloaded macroquad v0.4.14 [INFO] [stderr] Downloaded quad-snd v0.2.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5 [INFO] running `Command { std: "docker" "start" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] warning: binary `atlas_view` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /opt/rustwide/target/.../atlas_view [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::non_kebab_case_bins` is set to `warn` by default [INFO] [stderr] help: to change the binary name to `atlas-view`, convert the file stem [INFO] [stderr] | [INFO] [stderr] 1 - src/bin/atlas_view.rs [INFO] [stderr] 1 + src/bin/atlas-view.rs [INFO] [stderr] | [INFO] [stderr] warning: binary `extract_cells` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /opt/rustwide/target/.../extract_cells [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `extract-cells`, convert the file stem [INFO] [stderr] | [INFO] [stderr] 1 - src/bin/extract_cells.rs [INFO] [stderr] 1 + src/bin/extract-cells.rs [INFO] [stderr] | [INFO] [stderr] warning: binary `slice_atlas` should have a kebab-case name [INFO] [stderr] | [INFO] [stderr] 1 | /opt/rustwide/target/.../slice_atlas [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to change the binary name to `slice-atlas`, convert the file stem [INFO] [stderr] | [INFO] [stderr] 1 - src/bin/slice_atlas.rs [INFO] [stderr] 1 + src/bin/slice-atlas.rs [INFO] [stderr] | [INFO] [stderr] warning: `ecdysium` (manifest) generated 3 warnings [INFO] [stderr] Compiling libc v0.2.185 [INFO] [stderr] Checking ogg v0.7.1 [INFO] [stderr] Compiling miniquad v0.4.8 [INFO] [stderr] Compiling quad-snd v0.2.8 [INFO] [stderr] Checking hound v3.5.1 [INFO] [stderr] Checking ttf-parser v0.21.1 [INFO] [stderr] Compiling macroquad_macro v0.1.8 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking glam v0.27.0 [INFO] [stderr] Checking quad-rand v0.2.3 [INFO] [stderr] Checking lewton v0.9.4 [INFO] [stderr] Checking audrey v0.3.0 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking quad-alsa-sys v0.3.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.6 [INFO] [stderr] Checking fontdue v0.9.3 [INFO] [stderr] Checking macroquad v0.4.14 [INFO] [stderr] Checking ecdysium v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Tile` [INFO] [stdout] --> src/tileset.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | use crate::dungeon::{Map, Tile}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generator::Generator` [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use generator::Generator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generator::sector::SectorGenerator` [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use generator::sector::SectorGenerator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RoomContents` and `stock_rooms` [INFO] [stdout] --> src/main.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | use stock::{stock_rooms, RoomContents}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Tile` [INFO] [stdout] --> src/tileset.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | use crate::dungeon::{Map, Tile}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generator::Generator` [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use generator::Generator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generator::sector::SectorGenerator` [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use generator::sector::SectorGenerator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RoomContents` and `stock_rooms` [INFO] [stdout] --> src/main.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | use stock::{stock_rooms, RoomContents}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:3591:33 [INFO] [stdout] | [INFO] [stdout] 3591 | ... let mut dmg = if combat_stims_turns_left > 0 [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:3591:33 [INFO] [stdout] | [INFO] [stdout] 3591 | ... let mut dmg = if combat_stims_turns_left > 0 [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/ui.rs:1295:17 [INFO] [stdout] | [INFO] [stdout] 1295 | y += body_size * 1.25; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/ui.rs:1295:17 [INFO] [stdout] | [INFO] [stdout] 1295 | y += body_size * 1.25; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `loot_base` and `attributes` are never read [INFO] [stdout] --> src/creatures/mod.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct CreatureTemplate { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 178 | pub loot_base: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub attributes: crate::attributes::Attributes, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreatureTemplate` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `render_scale` and `loot_value` are never used [INFO] [stdout] --> src/creatures/mod.rs:441:12 [INFO] [stdout] | [INFO] [stdout] 301 | impl CreatureKind { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn render_scale(self) -> f32 { self.template().render_scale } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub fn loot_value(self, dungeon_level: u8) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has` and `iter` are never used [INFO] [stdout] --> src/dungeon.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Connections { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 45 | pub fn has(self, dir: Dir) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn iter(self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_open`, `connections_at`, `tile_slice`, `save_tiles`, and `load_tiles` are never used [INFO] [stdout] --> src/dungeon.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl Map { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn is_open(&self, x: usize, y: usize) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn connections_at(&self, x: usize, y: usize) -> Connections { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn tile_slice(&self) -> &[Tile] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn save_tiles(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn load_tiles(&mut self, snapshot: Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LightLevel` is never used [INFO] [stdout] --> src/fov.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum LightLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `level_at` is never used [INFO] [stdout] --> src/fov.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn level_at(brightness: f32) -> LightLevel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CaveGenerator` is never constructed [INFO] [stdout] --> src/generator/caves.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CaveGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wall_count` is never used [INFO] [stdout] --> src/generator/caves.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn wall_count(tiles: &[Tile], x: usize, y: usize, width: usize, height: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_ROOM_SIZE` is never used [INFO] [stdout] --> src/generator/rooms.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const MIN_ROOM_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_ROOM_SIZE` is never used [INFO] [stdout] --> src/generator/rooms.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const MAX_ROOM_SIZE: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_LEAF_SIZE` is never used [INFO] [stdout] --> src/generator/rooms.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const MIN_LEAF_SIZE: usize = MIN_ROOM_SIZE + 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Point` is never used [INFO] [stdout] --> src/generator/rooms.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type Point = (usize, usize); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pair_key` is never used [INFO] [stdout] --> src/generator/rooms.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn pair_key(a: Point, b: Point) -> (Point, Point) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RoomGenerator` is never constructed [INFO] [stdout] --> src/generator/rooms.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct RoomGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rect` is never constructed [INFO] [stdout] --> src/generator/rooms.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Rect { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BspNode` is never constructed [INFO] [stdout] --> src/generator/rooms.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct BspNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/generator/rooms.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl BspNode { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 74 | fn new(region: Rect) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn split(&mut self, rng: &mut impl Rng, depth: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn place_rooms(&mut self, rng: &mut impl Rng) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn center(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn gather_centers(&self, out: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn carve(&self, map: &mut Map) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn connect(&self, map: &mut Map, rng: &mut impl Rng, connected: &mut HashSet<(Point, Point)>) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dig_corridor` is never used [INFO] [stdout] --> src/generator/rooms.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn dig_corridor(map: &mut Map, from: Point, to: Point, h_first: bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MazeRoomsGenerator` is never constructed [INFO] [stdout] --> src/generator/maze_rooms.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MazeRoomsGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `odd_in` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:389:4 [INFO] [stdout] | [INFO] [stdout] 389 | fn odd_in(rng: &mut impl Rng, lo: usize, hi: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `grow_maze` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:398:4 [INFO] [stdout] | [INFO] [stdout] 398 | fn grow_maze( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adjacent_regions` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:444:4 [INFO] [stdout] | [INFO] [stdout] 444 | fn adjacent_regions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_cardinal_count` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:462:4 [INFO] [stdout] | [INFO] [stdout] 462 | fn open_cardinal_count(map: &Map, x: usize, y: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cardinal_floor_neighbours` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:474:4 [INFO] [stdout] | [INFO] [stdout] 474 | fn cardinal_floor_neighbours(map: &Map, x: usize, y: usize) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `l_path` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:491:4 [INFO] [stdout] | [INFO] [stdout] 491 | fn l_path(x1: usize, y1: usize, x2: usize, y2: usize, h_first: bool) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_key_tile` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:510:4 [INFO] [stdout] | [INFO] [stdout] 510 | fn is_key_tile(map: &Map, room_tiles: &[bool], x: usize, y: usize, width: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_reachable_rooms` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:515:4 [INFO] [stdout] | [INFO] [stdout] 515 | fn count_reachable_rooms(map: &Map, reps: &[(usize, usize)]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rooms_connected` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:536:4 [INFO] [stdout] | [INFO] [stdout] 536 | fn rooms_connected(map: &Map, reps: &[(usize, usize)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnionFind` is never constructed [INFO] [stdout] --> src/generator/maze_rooms.rs:557:8 [INFO] [stdout] | [INFO] [stdout] 557 | struct UnionFind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find`, `connected`, and `union` are never used [INFO] [stdout] --> src/generator/maze_rooms.rs:562:8 [INFO] [stdout] | [INFO] [stdout] 561 | impl UnionFind { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 562 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | fn find(&mut self, mut x: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 574 | fn connected(&mut self, a: usize, b: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | fn union(&mut self, a: usize, b: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `down` is never used [INFO] [stdout] --> src/input.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 131 | impl Bindings { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn down(&self, action: Action) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `PAPER_DOLL` is never used [INFO] [stdout] --> src/items/mod.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 146 | impl EquipSlot { [INFO] [stdout] | -------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub const PAPER_DOLL: &'static [EquipSlot] = &[ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sprite`, `render_scale`, and `healing` are never used [INFO] [stdout] --> src/items/mod.rs:712:12 [INFO] [stdout] | [INFO] [stdout] 456 | impl ItemKind { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 712 | pub fn sprite(self) -> ItemSprite { self.template().sprite } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 713 | pub fn use_effect(self) -> UseEffect { self.template().use_effect } [INFO] [stdout] 714 | pub fn render_scale(self) -> f32 { self.template().render_scale } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 715 | pub fn category(self) -> ItemCategory { self.template().category } [INFO] [stdout] 716 | pub fn healing(self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fire_sound_path` is never read [INFO] [stdout] --> src/items/weapons.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct RangedProfile { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 99 | pub fire_sound_path: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RangedProfile` 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: associated constant `ALL` is never used [INFO] [stdout] --> src/items/weapons.rs:129:15 [INFO] [stdout] | [INFO] [stdout] 126 | impl WeaponKind { [INFO] [stdout] | --------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub const ALL: &'static [WeaponKind] = &[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Terminal` is never constructed [INFO] [stdout] --> src/props.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 323 | pub enum PropInteraction { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 331 | Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PropInteraction` 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: constant `DECK_BASE` is never used [INFO] [stdout] --> src/render/pixel.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DECK_BASE: (u8, u8, u8) = (55, 65, 80); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECK_SEAM` is never used [INFO] [stdout] --> src/render/pixel.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const DECK_SEAM: (u8, u8, u8) = (38, 46, 58); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECK_RIVET` is never used [INFO] [stdout] --> src/render/pixel.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const DECK_RIVET: (u8, u8, u8) = (22, 28, 40); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUST` is never used [INFO] [stdout] --> src/render/pixel.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const RUST: (u8, u8, u8) = (130, 70, 38); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUST_DARK` is never used [INFO] [stdout] --> src/render/pixel.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const RUST_DARK: (u8, u8, u8) = (95, 50, 28); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WALL_HI` is never used [INFO] [stdout] --> src/render/pixel.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const WALL_HI: (u8, u8, u8) = (72, 82, 98); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HULL_FAINT` is never used [INFO] [stdout] --> src/render/pixel.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const HULL_FAINT: (u8, u8, u8) = (16, 20, 30); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ship` is never read [INFO] [stdout] --> src/render/pixel.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BiomeTextures { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 146 | pub ship: ShipTextures, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `atlas_white`, `biomes`, `health_bar_full_cap`, `health_bar_full_fill`, `health_bar_empty_cap`, and `health_bar_empty_fill` are never read [INFO] [stdout] --> src/render/pixel.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 149 | pub struct Sprites { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 156 | pub atlas_white: Texture2D, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub biomes: BiomeTextures, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub health_bar_full_cap: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 172 | pub health_bar_full_fill: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub health_bar_empty_cap: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | pub health_bar_empty_fill: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `death` is never read [INFO] [stdout] --> src/render/pixel.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 230 | pub struct LoadedCreature { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 235 | pub death: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_any` is never used [INFO] [stdout] --> src/render/pixel.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 238 | impl LoadedCreature { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 239 | pub fn has_any(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `blocks_movement` and `blocks_action` are never used [INFO] [stdout] --> src/status.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl StatusKind { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn blocks_movement(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn blocks_action(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has`, `blocks_movement`, `blocks_action`, `entries`, and `is_empty` are never used [INFO] [stdout] --> src/status.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl StatusEffectList { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn has(&self, kind: StatusKind) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn blocks_movement(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn blocks_action(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn entries(&self) -> Vec<(StatusKind, u32)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `glyph` is never used [INFO] [stdout] --> src/stock.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl RoomContents { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 95 | /// Single-character glyph used for quick map overlays. [INFO] [stdout] 96 | pub fn glyph(&self) -> char { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Lunar` is never constructed [INFO] [stdout] --> src/tileset.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub enum Biome { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 207 | Lunar, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Biome` 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: fields `loot_base` and `attributes` are never read [INFO] [stdout] --> src/creatures/mod.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 151 | pub struct CreatureTemplate { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 178 | pub loot_base: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub attributes: crate::attributes::Attributes, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CreatureTemplate` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `render_scale` and `loot_value` are never used [INFO] [stdout] --> src/creatures/mod.rs:441:12 [INFO] [stdout] | [INFO] [stdout] 301 | impl CreatureKind { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn render_scale(self) -> f32 { self.template().render_scale } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub fn loot_value(self, dungeon_level: u8) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has` and `iter` are never used [INFO] [stdout] --> src/dungeon.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Connections { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 45 | pub fn has(self, dir: Dir) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn iter(self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_open`, `connections_at`, `tile_slice`, `save_tiles`, and `load_tiles` are never used [INFO] [stdout] --> src/dungeon.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl Map { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn is_open(&self, x: usize, y: usize) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn connections_at(&self, x: usize, y: usize) -> Connections { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn tile_slice(&self) -> &[Tile] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn save_tiles(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn load_tiles(&mut self, snapshot: Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LightLevel` is never used [INFO] [stdout] --> src/fov.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum LightLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `level_at` is never used [INFO] [stdout] --> src/fov.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn level_at(brightness: f32) -> LightLevel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CaveGenerator` is never constructed [INFO] [stdout] --> src/generator/caves.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CaveGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wall_count` is never used [INFO] [stdout] --> src/generator/caves.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn wall_count(tiles: &[Tile], x: usize, y: usize, width: usize, height: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_ROOM_SIZE` is never used [INFO] [stdout] --> src/generator/rooms.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const MIN_ROOM_SIZE: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_ROOM_SIZE` is never used [INFO] [stdout] --> src/generator/rooms.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const MAX_ROOM_SIZE: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_LEAF_SIZE` is never used [INFO] [stdout] --> src/generator/rooms.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const MIN_LEAF_SIZE: usize = MIN_ROOM_SIZE + 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Point` is never used [INFO] [stdout] --> src/generator/rooms.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | type Point = (usize, usize); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pair_key` is never used [INFO] [stdout] --> src/generator/rooms.rs:13:4 [INFO] [stdout] | [INFO] [stdout] 13 | fn pair_key(a: Point, b: Point) -> (Point, Point) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RoomGenerator` is never constructed [INFO] [stdout] --> src/generator/rooms.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct RoomGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rect` is never constructed [INFO] [stdout] --> src/generator/rooms.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | struct Rect { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BspNode` is never constructed [INFO] [stdout] --> src/generator/rooms.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | struct BspNode { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/generator/rooms.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl BspNode { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 74 | fn new(region: Rect) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn split(&mut self, rng: &mut impl Rng, depth: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn place_rooms(&mut self, rng: &mut impl Rng) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn center(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn gather_centers(&self, out: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn carve(&self, map: &mut Map) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn connect(&self, map: &mut Map, rng: &mut impl Rng, connected: &mut HashSet<(Point, Point)>) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dig_corridor` is never used [INFO] [stdout] --> src/generator/rooms.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn dig_corridor(map: &mut Map, from: Point, to: Point, h_first: bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MazeRoomsGenerator` is never constructed [INFO] [stdout] --> src/generator/maze_rooms.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MazeRoomsGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `odd_in` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:389:4 [INFO] [stdout] | [INFO] [stdout] 389 | fn odd_in(rng: &mut impl Rng, lo: usize, hi: usize) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `grow_maze` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:398:4 [INFO] [stdout] | [INFO] [stdout] 398 | fn grow_maze( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adjacent_regions` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:444:4 [INFO] [stdout] | [INFO] [stdout] 444 | fn adjacent_regions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `open_cardinal_count` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:462:4 [INFO] [stdout] | [INFO] [stdout] 462 | fn open_cardinal_count(map: &Map, x: usize, y: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cardinal_floor_neighbours` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:474:4 [INFO] [stdout] | [INFO] [stdout] 474 | fn cardinal_floor_neighbours(map: &Map, x: usize, y: usize) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `l_path` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:491:4 [INFO] [stdout] | [INFO] [stdout] 491 | fn l_path(x1: usize, y1: usize, x2: usize, y2: usize, h_first: bool) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_key_tile` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:510:4 [INFO] [stdout] | [INFO] [stdout] 510 | fn is_key_tile(map: &Map, room_tiles: &[bool], x: usize, y: usize, width: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_reachable_rooms` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:515:4 [INFO] [stdout] | [INFO] [stdout] 515 | fn count_reachable_rooms(map: &Map, reps: &[(usize, usize)]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rooms_connected` is never used [INFO] [stdout] --> src/generator/maze_rooms.rs:536:4 [INFO] [stdout] | [INFO] [stdout] 536 | fn rooms_connected(map: &Map, reps: &[(usize, usize)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnionFind` is never constructed [INFO] [stdout] --> src/generator/maze_rooms.rs:557:8 [INFO] [stdout] | [INFO] [stdout] 557 | struct UnionFind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find`, `connected`, and `union` are never used [INFO] [stdout] --> src/generator/maze_rooms.rs:562:8 [INFO] [stdout] | [INFO] [stdout] 561 | impl UnionFind { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 562 | fn new(n: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | fn find(&mut self, mut x: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 574 | fn connected(&mut self, a: usize, b: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | fn union(&mut self, a: usize, b: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `down` is never used [INFO] [stdout] --> src/input.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 131 | impl Bindings { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn down(&self, action: Action) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `PAPER_DOLL` is never used [INFO] [stdout] --> src/items/mod.rs:173:15 [INFO] [stdout] | [INFO] [stdout] 146 | impl EquipSlot { [INFO] [stdout] | -------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub const PAPER_DOLL: &'static [EquipSlot] = &[ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sprite`, `render_scale`, and `healing` are never used [INFO] [stdout] --> src/items/mod.rs:712:12 [INFO] [stdout] | [INFO] [stdout] 456 | impl ItemKind { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 712 | pub fn sprite(self) -> ItemSprite { self.template().sprite } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 713 | pub fn use_effect(self) -> UseEffect { self.template().use_effect } [INFO] [stdout] 714 | pub fn render_scale(self) -> f32 { self.template().render_scale } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 715 | pub fn category(self) -> ItemCategory { self.template().category } [INFO] [stdout] 716 | pub fn healing(self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fire_sound_path` is never read [INFO] [stdout] --> src/items/weapons.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct RangedProfile { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 99 | pub fire_sound_path: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RangedProfile` 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: associated constant `ALL` is never used [INFO] [stdout] --> src/items/weapons.rs:129:15 [INFO] [stdout] | [INFO] [stdout] 126 | impl WeaponKind { [INFO] [stdout] | --------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub const ALL: &'static [WeaponKind] = &[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Terminal` is never constructed [INFO] [stdout] --> src/props.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 323 | pub enum PropInteraction { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 331 | Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PropInteraction` 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: constant `DECK_BASE` is never used [INFO] [stdout] --> src/render/pixel.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DECK_BASE: (u8, u8, u8) = (55, 65, 80); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECK_SEAM` is never used [INFO] [stdout] --> src/render/pixel.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const DECK_SEAM: (u8, u8, u8) = (38, 46, 58); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DECK_RIVET` is never used [INFO] [stdout] --> src/render/pixel.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const DECK_RIVET: (u8, u8, u8) = (22, 28, 40); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUST` is never used [INFO] [stdout] --> src/render/pixel.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const RUST: (u8, u8, u8) = (130, 70, 38); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RUST_DARK` is never used [INFO] [stdout] --> src/render/pixel.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const RUST_DARK: (u8, u8, u8) = (95, 50, 28); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WALL_HI` is never used [INFO] [stdout] --> src/render/pixel.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const WALL_HI: (u8, u8, u8) = (72, 82, 98); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HULL_FAINT` is never used [INFO] [stdout] --> src/render/pixel.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const HULL_FAINT: (u8, u8, u8) = (16, 20, 30); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ship` is never read [INFO] [stdout] --> src/render/pixel.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BiomeTextures { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 146 | pub ship: ShipTextures, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `atlas_white`, `biomes`, `health_bar_full_cap`, `health_bar_full_fill`, `health_bar_empty_cap`, and `health_bar_empty_fill` are never read [INFO] [stdout] --> src/render/pixel.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 149 | pub struct Sprites { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 156 | pub atlas_white: Texture2D, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub biomes: BiomeTextures, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub health_bar_full_cap: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 172 | pub health_bar_full_fill: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub health_bar_empty_cap: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | pub health_bar_empty_fill: Rect, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `death` is never read [INFO] [stdout] --> src/render/pixel.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 230 | pub struct LoadedCreature { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 235 | pub death: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_any` is never used [INFO] [stdout] --> src/render/pixel.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 238 | impl LoadedCreature { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 239 | pub fn has_any(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `blocks_movement` and `blocks_action` are never used [INFO] [stdout] --> src/status.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl StatusKind { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn blocks_movement(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn blocks_action(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has`, `blocks_movement`, `blocks_action`, `entries`, and `is_empty` are never used [INFO] [stdout] --> src/status.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl StatusEffectList { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn has(&self, kind: StatusKind) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn blocks_movement(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn blocks_action(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn entries(&self) -> Vec<(StatusKind, u32)> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty` and `gp_value` are never used [INFO] [stdout] --> src/stock.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Treasure { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 32 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn gp_value(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `glyph` is never used [INFO] [stdout] --> src/stock.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 94 | impl RoomContents { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 95 | /// Single-character glyph used for quick map overlays. [INFO] [stdout] 96 | pub fn glyph(&self) -> char { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Lunar` is never constructed [INFO] [stdout] --> src/tileset.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub enum Biome { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 207 | Lunar, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Biome` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.62s [INFO] running `Command { std: "docker" "inspect" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5", kill_on_drop: false }` [INFO] [stdout] 9fe0ff6e9bfd6fdfdd4121088ba1359faedc1e9714a59ce9dc7c209c5dc332d5