[INFO] cloning repository https://github.com/kdddl/grubgeon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kdddl/grubgeon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkdddl%2Fgrubgeon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkdddl%2Fgrubgeon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 95cf7903749bc7b0c93d15e7eaec96e082c15465
[INFO] checking kdddl/grubgeon against try#d336647335db03a0fc5b24fc5325cd3905c5b8e8 for pr-151146
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkdddl%2Fgrubgeon" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kdddl/grubgeon
[INFO] finished tweaking git repo https://github.com/kdddl/grubgeon
[INFO] tweaked toml for git repo https://github.com/kdddl/grubgeon written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kdddl/grubgeon on toolchain d336647335db03a0fc5b24fc5325cd3905c5b8e8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kdddl/grubgeon 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" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml v0.8.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 12a69f80f5c453358a733abb8562f0948f380f4273f1a77df3150227f3f8a6b7
[INFO] running `Command { std: "docker" "start" "-a" "12a69f80f5c453358a733abb8562f0948f380f4273f1a77df3150227f3f8a6b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "12a69f80f5c453358a733abb8562f0948f380f4273f1a77df3150227f3f8a6b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12a69f80f5c453358a733abb8562f0948f380f4273f1a77df3150227f3f8a6b7", kill_on_drop: false }`
[INFO] [stdout] 12a69f80f5c453358a733abb8562f0948f380f4273f1a77df3150227f3f8a6b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+d336647335db03a0fc5b24fc5325cd3905c5b8e8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b6975d7a05cf7b1a7a9e89124b04eb54be43b11a50232569b32cb6fc72fc0a2
[INFO] running `Command { std: "docker" "start" "-a" "0b6975d7a05cf7b1a7a9e89124b04eb54be43b11a50232569b32cb6fc72fc0a2", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]     Checking winnow v0.5.37
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]     Checking mio v0.8.10
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking indexmap v2.2.2
[INFO] [stderr]     Checking toml_edit v0.21.1
[INFO] [stderr]     Checking toml v0.8.9
[INFO] [stderr]     Checking grubgeon v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `indexmap::IndexMap`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use indexmap::IndexMap;
[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: `indexmap::IndexMap`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use indexmap::IndexMap;
[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: `Write`
[INFO] [stdout]  --> src/main.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::*`
[INFO] [stdout]  --> src/renderer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::*`
[INFO] [stdout]  --> src/renderer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::util::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::GetInput`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use input::GetInput;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::GetInput`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use input::GetInput;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::Ui`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ui::Ui;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::Ui`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ui::Ui;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/term.rs:122:30
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn get_tile_index(&self, name: &str) -> Option<usize> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/term.rs:122:30
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn get_tile_index(&self, name: &str) -> Option<usize> {
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/util.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Quadtree::Leaf(item) => {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut stdout = io::stdout();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut stdout = io::stdout();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let size = terminal::size()?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_room_size` is never used
[INFO] [stdout]  --> src/editor.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn to_room_size(n: u8) -> glam::U16Vec2 {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resize` is never used
[INFO] [stdout]   --> src/game.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GameState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn resize(&mut self, size: glam::U16Vec2) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inventory` is never constructed
[INFO] [stdout]   --> src/input.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Input {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Inventory,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Input` 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: struct `QuadtreeFlat` is never constructed
[INFO] [stdout]   --> src/level.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct QuadtreeFlat<'a, T: Clone> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/level.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'a, T: Clone> QuadtreeFlat<'a, T> {
[INFO] [stdout]    | -------------------------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(pos: u32, data: &'a T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/util.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Quadtree::Leaf(item) => {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate` and `make_room` are never used
[INFO] [stdout]   --> src/level.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Level {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 31 |     pub fn generate(&mut self, tile: usize) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn make_room(&mut self, pos: glam::U16Vec2, size: glam::U16Vec2, tile: usize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEIGHTS` is never used
[INFO] [stdout]    --> src/level.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const WEIGHTS: [f32; 6] = [0.0, 0.1, 0.2, 0.7, 0.9, 1.0];
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quadtree_gen` is never used
[INFO] [stdout]    --> src/level.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn quadtree_gen(tree: &mut Quadtree<u16>, n: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iter` is never used
[INFO] [stdout]    --> src/level.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn iter<'a, T: Clone>(tree: &'a Quadtree<T>, pos: u32, depth: u16) -> Vec<QuadtreeFlat<'a, T>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tile_index` is never used
[INFO] [stdout]   --> src/renderer.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait Renderer {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn get_tile_index(&self, name: &str) -> Option<usize>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tiles` is never read
[INFO] [stdout]   --> src/term.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Terminal {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 14 |     stdout: io::Stdout,
[INFO] [stdout] 15 |     pub tiles: IndexMap<String, Tile>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_DARK` is never used
[INFO] [stdout]    --> src/term.rs:225:7
[INFO] [stdout]     |
[INFO] [stdout] 225 | const BLOCK_DARK: char = '▓';
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_MEDIUM` is never used
[INFO] [stdout]    --> src/term.rs:226:7
[INFO] [stdout]     |
[INFO] [stdout] 226 | const BLOCK_MEDIUM: char = '▒';
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_LIGHT` is never used
[INFO] [stdout]    --> src/term.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | const BLOCK_LIGHT: char = '░';
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ` is never used
[INFO] [stdout]    --> src/term.rs:230:7
[INFO] [stdout]     |
[INFO] [stdout] 230 | const LINE_HORZ: char = '─';
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT` is never used
[INFO] [stdout]    --> src/term.rs:231:7
[INFO] [stdout]     |
[INFO] [stdout] 231 | const LINE_VERT: char = '│';
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_DOWN_RIGHT` is never used
[INFO] [stdout]    --> src/term.rs:232:7
[INFO] [stdout]     |
[INFO] [stdout] 232 | const LINE_DOWN_RIGHT: char = '┌';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_DOWN_LEFT` is never used
[INFO] [stdout]    --> src/term.rs:233:7
[INFO] [stdout]     |
[INFO] [stdout] 233 | const LINE_DOWN_LEFT: char = '┐';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_UP_RIGHT` is never used
[INFO] [stdout]    --> src/term.rs:234:7
[INFO] [stdout]     |
[INFO] [stdout] 234 | const LINE_UP_RIGHT: char = '└';
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_UP_LEFT` is never used
[INFO] [stdout]    --> src/term.rs:235:7
[INFO] [stdout]     |
[INFO] [stdout] 235 | const LINE_UP_LEFT: char = '┘';
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_CROSS` is never used
[INFO] [stdout]    --> src/term.rs:236:7
[INFO] [stdout]     |
[INFO] [stdout] 236 | const LINE_CROSS: char = '┼';
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_RIGHT` is never used
[INFO] [stdout]    --> src/term.rs:237:7
[INFO] [stdout]     |
[INFO] [stdout] 237 | const LINE_VERT_RIGHT: char = '├';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_DOWN` is never used
[INFO] [stdout]    --> src/term.rs:238:7
[INFO] [stdout]     |
[INFO] [stdout] 238 | const LINE_HORZ_DOWN: char = '┬';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_LEFT` is never used
[INFO] [stdout]    --> src/term.rs:239:7
[INFO] [stdout]     |
[INFO] [stdout] 239 | const LINE_VERT_LEFT: char = '┤';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_UP` is never used
[INFO] [stdout]    --> src/term.rs:240:7
[INFO] [stdout]     |
[INFO] [stdout] 240 | const LINE_HORZ_UP: char = '┴';
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_FULL` is never used
[INFO] [stdout]  --> src/ui.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BLOCK_FULL: char = '█';
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_7_8` is never used
[INFO] [stdout]  --> src/ui.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const BLOCK_7_8: char = '▉';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_6_8` is never used
[INFO] [stdout]  --> src/ui.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const BLOCK_6_8: char = '▊';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_5_8` is never used
[INFO] [stdout]  --> src/ui.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BLOCK_5_8: char = '▋';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_4_8` is never used
[INFO] [stdout]  --> src/ui.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const BLOCK_4_8: char = '▌';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_3_8` is never used
[INFO] [stdout]  --> src/ui.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const BLOCK_3_8: char = '▍';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_2_8` is never used
[INFO] [stdout]   --> src/ui.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BLOCK_2_8: char = '▎';
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_1_8` is never used
[INFO] [stdout]   --> src/ui.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BLOCK_1_8: char = '▏';
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_DARK` is never used
[INFO] [stdout]   --> src/ui.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BLOCK_DARK: char = '▓';
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_MEDIUM` is never used
[INFO] [stdout]   --> src/ui.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const BLOCK_MEDIUM: char = '▒';
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_LIGHT` is never used
[INFO] [stdout]   --> src/ui.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const BLOCK_LIGHT: char = '░';
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_END` is never used
[INFO] [stdout]   --> src/ui.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const BLOCK_END: char = '▏';
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_CROSS` is never used
[INFO] [stdout]   --> src/ui.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const LINE_CROSS: char = '┼';
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_RIGHT` is never used
[INFO] [stdout]   --> src/ui.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const LINE_VERT_RIGHT: char = '├';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_DOWN` is never used
[INFO] [stdout]   --> src/ui.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const LINE_HORZ_DOWN: char = '┬';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_LEFT` is never used
[INFO] [stdout]   --> src/ui.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const LINE_VERT_LEFT: char = '┤';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_UP` is never used
[INFO] [stdout]   --> src/ui.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const LINE_HORZ_UP: char = '┴';
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_focus` and `set_focus` are never used
[INFO] [stdout]   --> src/ui.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait Ui {
[INFO] [stdout]    |           -- methods in this trait
[INFO] [stdout] 30 |     fn render_to(&self, display: &mut Display);
[INFO] [stdout] 31 |     fn get_focus(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 32 |     fn set_focus(&mut self, state: bool);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `focus` is never read
[INFO] [stdout]   --> src/ui.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Menu {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     focus: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Quadtree` is never used
[INFO] [stdout]   --> src/util.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Quadtree<T: Clone> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `subdivide`, `value`, and `is_leaf` are never used
[INFO] [stdout]   --> src/util.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<T: Clone> Quadtree<T> {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new(item: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn subdivide(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn value(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut stdout = io::stdout();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> src/main.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut stdout = io::stdout();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/main.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let size = terminal::size()?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_room_size` is never used
[INFO] [stdout]  --> src/editor.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn to_room_size(n: u8) -> glam::U16Vec2 {
[INFO] [stdout]   |    ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resize` is never used
[INFO] [stdout]   --> src/game.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl GameState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn resize(&mut self, size: glam::U16Vec2) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Inventory` is never constructed
[INFO] [stdout]   --> src/input.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Input {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Inventory,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Input` 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: struct `QuadtreeFlat` is never constructed
[INFO] [stdout]   --> src/level.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct QuadtreeFlat<'a, T: Clone> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/level.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl<'a, T: Clone> QuadtreeFlat<'a, T> {
[INFO] [stdout]    | -------------------------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(pos: u32, data: &'a T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate` and `make_room` are never used
[INFO] [stdout]   --> src/level.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Level {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 31 |     pub fn generate(&mut self, tile: usize) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn make_room(&mut self, pos: glam::U16Vec2, size: glam::U16Vec2, tile: usize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEIGHTS` is never used
[INFO] [stdout]    --> src/level.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const WEIGHTS: [f32; 6] = [0.0, 0.1, 0.2, 0.7, 0.9, 1.0];
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `quadtree_gen` is never used
[INFO] [stdout]    --> src/level.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn quadtree_gen(tree: &mut Quadtree<u16>, n: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iter` is never used
[INFO] [stdout]    --> src/level.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub fn iter<'a, T: Clone>(tree: &'a Quadtree<T>, pos: u32, depth: u16) -> Vec<QuadtreeFlat<'a, T>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tile_index` is never used
[INFO] [stdout]   --> src/renderer.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub trait Renderer {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 12 |     fn get_tile_index(&self, name: &str) -> Option<usize>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tiles` is never read
[INFO] [stdout]   --> src/term.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Terminal {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 14 |     stdout: io::Stdout,
[INFO] [stdout] 15 |     pub tiles: IndexMap<String, Tile>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_DARK` is never used
[INFO] [stdout]    --> src/term.rs:225:7
[INFO] [stdout]     |
[INFO] [stdout] 225 | const BLOCK_DARK: char = '▓';
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_MEDIUM` is never used
[INFO] [stdout]    --> src/term.rs:226:7
[INFO] [stdout]     |
[INFO] [stdout] 226 | const BLOCK_MEDIUM: char = '▒';
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_LIGHT` is never used
[INFO] [stdout]    --> src/term.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | const BLOCK_LIGHT: char = '░';
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ` is never used
[INFO] [stdout]    --> src/term.rs:230:7
[INFO] [stdout]     |
[INFO] [stdout] 230 | const LINE_HORZ: char = '─';
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT` is never used
[INFO] [stdout]    --> src/term.rs:231:7
[INFO] [stdout]     |
[INFO] [stdout] 231 | const LINE_VERT: char = '│';
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_DOWN_RIGHT` is never used
[INFO] [stdout]    --> src/term.rs:232:7
[INFO] [stdout]     |
[INFO] [stdout] 232 | const LINE_DOWN_RIGHT: char = '┌';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_DOWN_LEFT` is never used
[INFO] [stdout]    --> src/term.rs:233:7
[INFO] [stdout]     |
[INFO] [stdout] 233 | const LINE_DOWN_LEFT: char = '┐';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_UP_RIGHT` is never used
[INFO] [stdout]    --> src/term.rs:234:7
[INFO] [stdout]     |
[INFO] [stdout] 234 | const LINE_UP_RIGHT: char = '└';
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_UP_LEFT` is never used
[INFO] [stdout]    --> src/term.rs:235:7
[INFO] [stdout]     |
[INFO] [stdout] 235 | const LINE_UP_LEFT: char = '┘';
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_CROSS` is never used
[INFO] [stdout]    --> src/term.rs:236:7
[INFO] [stdout]     |
[INFO] [stdout] 236 | const LINE_CROSS: char = '┼';
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_RIGHT` is never used
[INFO] [stdout]    --> src/term.rs:237:7
[INFO] [stdout]     |
[INFO] [stdout] 237 | const LINE_VERT_RIGHT: char = '├';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_DOWN` is never used
[INFO] [stdout]    --> src/term.rs:238:7
[INFO] [stdout]     |
[INFO] [stdout] 238 | const LINE_HORZ_DOWN: char = '┬';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_LEFT` is never used
[INFO] [stdout]    --> src/term.rs:239:7
[INFO] [stdout]     |
[INFO] [stdout] 239 | const LINE_VERT_LEFT: char = '┤';
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_UP` is never used
[INFO] [stdout]    --> src/term.rs:240:7
[INFO] [stdout]     |
[INFO] [stdout] 240 | const LINE_HORZ_UP: char = '┴';
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_FULL` is never used
[INFO] [stdout]  --> src/ui.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BLOCK_FULL: char = '█';
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_7_8` is never used
[INFO] [stdout]  --> src/ui.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const BLOCK_7_8: char = '▉';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_6_8` is never used
[INFO] [stdout]  --> src/ui.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const BLOCK_6_8: char = '▊';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_5_8` is never used
[INFO] [stdout]  --> src/ui.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const BLOCK_5_8: char = '▋';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_4_8` is never used
[INFO] [stdout]  --> src/ui.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const BLOCK_4_8: char = '▌';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_3_8` is never used
[INFO] [stdout]  --> src/ui.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const BLOCK_3_8: char = '▍';
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_2_8` is never used
[INFO] [stdout]   --> src/ui.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BLOCK_2_8: char = '▎';
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_1_8` is never used
[INFO] [stdout]   --> src/ui.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BLOCK_1_8: char = '▏';
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_DARK` is never used
[INFO] [stdout]   --> src/ui.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BLOCK_DARK: char = '▓';
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_MEDIUM` is never used
[INFO] [stdout]   --> src/ui.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const BLOCK_MEDIUM: char = '▒';
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_LIGHT` is never used
[INFO] [stdout]   --> src/ui.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const BLOCK_LIGHT: char = '░';
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_END` is never used
[INFO] [stdout]   --> src/ui.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const BLOCK_END: char = '▏';
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_CROSS` is never used
[INFO] [stdout]   --> src/ui.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const LINE_CROSS: char = '┼';
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_RIGHT` is never used
[INFO] [stdout]   --> src/ui.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const LINE_VERT_RIGHT: char = '├';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_DOWN` is never used
[INFO] [stdout]   --> src/ui.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const LINE_HORZ_DOWN: char = '┬';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_VERT_LEFT` is never used
[INFO] [stdout]   --> src/ui.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const LINE_VERT_LEFT: char = '┤';
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINE_HORZ_UP` is never used
[INFO] [stdout]   --> src/ui.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const LINE_HORZ_UP: char = '┴';
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_focus` and `set_focus` are never used
[INFO] [stdout]   --> src/ui.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub trait Ui {
[INFO] [stdout]    |           -- methods in this trait
[INFO] [stdout] 30 |     fn render_to(&self, display: &mut Display);
[INFO] [stdout] 31 |     fn get_focus(&self) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 32 |     fn set_focus(&mut self, state: bool);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `focus` is never read
[INFO] [stdout]   --> src/ui.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Menu {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     focus: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Quadtree` is never used
[INFO] [stdout]   --> src/util.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Quadtree<T: Clone> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `subdivide`, `value`, and `is_leaf` are never used
[INFO] [stdout]   --> src/util.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl<T: Clone> Quadtree<T> {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new(item: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn subdivide(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn value(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn is_leaf(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.16s
[INFO] running `Command { std: "docker" "inspect" "0b6975d7a05cf7b1a7a9e89124b04eb54be43b11a50232569b32cb6fc72fc0a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b6975d7a05cf7b1a7a9e89124b04eb54be43b11a50232569b32cb6fc72fc0a2", kill_on_drop: false }`
[INFO] [stdout] 0b6975d7a05cf7b1a7a9e89124b04eb54be43b11a50232569b32cb6fc72fc0a2
