[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] testing kdddl/grubgeon against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkdddl%2Fgrubgeon" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/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-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kdddl/grubgeon on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_spanned v0.6.5
[INFO] [stderr]   Downloaded serde_derive v1.0.196
[INFO] [stderr]   Downloaded toml_edit v0.21.1
[INFO] [stderr]   Downloaded serde v1.0.196
[INFO] [stderr]   Downloaded crossterm v0.27.0
[INFO] [stderr]   Downloaded toml v0.8.9
[INFO] [stderr]   Downloaded winnow v0.5.37
[INFO] [stderr]   Downloaded indexmap v2.2.2
[INFO] [stderr]   Downloaded glam v0.25.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 447b168ea4e4369cbea906f7732a612168e7da2694226dd233a4d78e98d15430
[INFO] running `Command { std: "docker" "start" "-a" "447b168ea4e4369cbea906f7732a612168e7da2694226dd233a4d78e98d15430", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "447b168ea4e4369cbea906f7732a612168e7da2694226dd233a4d78e98d15430", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "447b168ea4e4369cbea906f7732a612168e7da2694226dd233a4d78e98d15430", kill_on_drop: false }`
[INFO] [stdout] 447b168ea4e4369cbea906f7732a612168e7da2694226dd233a4d78e98d15430
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f617ed984e86014fb9e943c51dda2c43b7bebab4960c742e392f94853dc1677c
[INFO] running `Command { std: "docker" "start" "-a" "f617ed984e86014fb9e943c51dda2c43b7bebab4960c742e392f94853dc1677c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling serde v1.0.196
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling winnow v0.5.37
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling thread_local v1.1.7
[INFO] [stderr]    Compiling bitflags v2.4.2
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling glam v0.25.0
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling indexmap v2.2.2
[INFO] [stderr]    Compiling serde_spanned v0.6.5
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling toml v0.8.9
[INFO] [stderr]    Compiling 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: `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: `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 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: 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 24.28s
[INFO] running `Command { std: "docker" "inspect" "f617ed984e86014fb9e943c51dda2c43b7bebab4960c742e392f94853dc1677c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f617ed984e86014fb9e943c51dda2c43b7bebab4960c742e392f94853dc1677c", kill_on_drop: false }`
[INFO] [stdout] f617ed984e86014fb9e943c51dda2c43b7bebab4960c742e392f94853dc1677c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 83fb15e5d75ece783206b07d4c55598819bee692310c4d1cc42f5fa0099f3a65
[INFO] running `Command { std: "docker" "start" "-a" "83fb15e5d75ece783206b07d4c55598819bee692310c4d1cc42f5fa0099f3a65", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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: `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: `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 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: 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 `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "83fb15e5d75ece783206b07d4c55598819bee692310c4d1cc42f5fa0099f3a65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83fb15e5d75ece783206b07d4c55598819bee692310c4d1cc42f5fa0099f3a65", kill_on_drop: false }`
[INFO] [stdout] 83fb15e5d75ece783206b07d4c55598819bee692310c4d1cc42f5fa0099f3a65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2f83ec339e5c5e569509bbf85593698445854f07b8b994e76e4f2b6f620eaac8
[INFO] running `Command { std: "docker" "start" "-a" "2f83ec339e5c5e569509bbf85593698445854f07b8b994e76e4f2b6f620eaac8", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `indexmap::IndexMap`
[INFO] [stderr]  --> src/main.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use indexmap::IndexMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/main.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::io::{self, Write};
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::util::*`
[INFO] [stderr]  --> src/renderer.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::util::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `input::GetInput`
[INFO] [stderr]   --> src/main.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use input::GetInput;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ui::Ui`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use ui::Ui;
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/term.rs:122:30
[INFO] [stderr]     |
[INFO] [stderr] 122 |     fn get_tile_index(&self, name: &str) -> Option<usize> {
[INFO] [stderr]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]   --> src/util.rs:35:28
[INFO] [stderr]    |
[INFO] [stderr] 35 |             Quadtree::Leaf(item) => {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let mut stdout = io::stdout();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stdout`
[INFO] [stderr]   --> src/main.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let mut stdout = io::stdout();
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]   --> src/main.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |     let size = terminal::size()?;
[INFO] [stderr]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: function `to_room_size` is never used
[INFO] [stderr]  --> src/editor.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn to_room_size(n: u8) -> glam::U16Vec2 {
[INFO] [stderr]   |    ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `resize` is never used
[INFO] [stderr]   --> src/game.rs:53:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl GameState {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn resize(&mut self, size: glam::U16Vec2) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Inventory` is never constructed
[INFO] [stderr]   --> src/input.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  2 | pub enum Input {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 11 |     Inventory,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Input` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `QuadtreeFlat` is never constructed
[INFO] [stderr]   --> src/level.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct QuadtreeFlat<'a, T: Clone> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/level.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl<'a, T: Clone> QuadtreeFlat<'a, T> {
[INFO] [stderr]    | -------------------------------------- associated function in this implementation
[INFO] [stderr] 20 |     pub fn new(pos: u32, data: &'a T) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `generate` and `make_room` are never used
[INFO] [stderr]   --> src/level.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl Level {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] 31 |     pub fn generate(&mut self, tile: usize) {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     fn make_room(&mut self, pos: glam::U16Vec2, size: glam::U16Vec2, tile: usize) {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WEIGHTS` is never used
[INFO] [stderr]    --> src/level.rs:101:7
[INFO] [stderr]     |
[INFO] [stderr] 101 | const WEIGHTS: [f32; 6] = [0.0, 0.1, 0.2, 0.7, 0.9, 1.0];
[INFO] [stderr]     |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `quadtree_gen` is never used
[INFO] [stderr]    --> src/level.rs:103:8
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub fn quadtree_gen(tree: &mut Quadtree<u16>, n: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `iter` is never used
[INFO] [stderr]    --> src/level.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 114 | pub fn iter<'a, T: Clone>(tree: &'a Quadtree<T>, pos: u32, depth: u16) -> Vec<QuadtreeFlat<'a, T>> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_tile_index` is never used
[INFO] [stderr]   --> src/renderer.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub trait Renderer {
[INFO] [stderr]    |           -------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 12 |     fn get_tile_index(&self, name: &str) -> Option<usize>;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `tiles` is never read
[INFO] [stderr]   --> src/term.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct Terminal {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] 14 |     stdout: io::Stdout,
[INFO] [stderr] 15 |     pub tiles: IndexMap<String, Tile>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_DARK` is never used
[INFO] [stderr]    --> src/term.rs:225:7
[INFO] [stderr]     |
[INFO] [stderr] 225 | const BLOCK_DARK: char = '▓';
[INFO] [stderr]     |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_MEDIUM` is never used
[INFO] [stderr]    --> src/term.rs:226:7
[INFO] [stderr]     |
[INFO] [stderr] 226 | const BLOCK_MEDIUM: char = '▒';
[INFO] [stderr]     |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_LIGHT` is never used
[INFO] [stderr]    --> src/term.rs:227:7
[INFO] [stderr]     |
[INFO] [stderr] 227 | const BLOCK_LIGHT: char = '░';
[INFO] [stderr]     |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_HORZ` is never used
[INFO] [stderr]    --> src/term.rs:230:7
[INFO] [stderr]     |
[INFO] [stderr] 230 | const LINE_HORZ: char = '─';
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_VERT` is never used
[INFO] [stderr]    --> src/term.rs:231:7
[INFO] [stderr]     |
[INFO] [stderr] 231 | const LINE_VERT: char = '│';
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_DOWN_RIGHT` is never used
[INFO] [stderr]    --> src/term.rs:232:7
[INFO] [stderr]     |
[INFO] [stderr] 232 | const LINE_DOWN_RIGHT: char = '┌';
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_DOWN_LEFT` is never used
[INFO] [stderr]    --> src/term.rs:233:7
[INFO] [stderr]     |
[INFO] [stderr] 233 | const LINE_DOWN_LEFT: char = '┐';
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_UP_RIGHT` is never used
[INFO] [stderr]    --> src/term.rs:234:7
[INFO] [stderr]     |
[INFO] [stderr] 234 | const LINE_UP_RIGHT: char = '└';
[INFO] [stderr]     |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_UP_LEFT` is never used
[INFO] [stderr]    --> src/term.rs:235:7
[INFO] [stderr]     |
[INFO] [stderr] 235 | const LINE_UP_LEFT: char = '┘';
[INFO] [stderr]     |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_CROSS` is never used
[INFO] [stderr]    --> src/term.rs:236:7
[INFO] [stderr]     |
[INFO] [stderr] 236 | const LINE_CROSS: char = '┼';
[INFO] [stderr]     |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_VERT_RIGHT` is never used
[INFO] [stderr]    --> src/term.rs:237:7
[INFO] [stderr]     |
[INFO] [stderr] 237 | const LINE_VERT_RIGHT: char = '├';
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_HORZ_DOWN` is never used
[INFO] [stderr]    --> src/term.rs:238:7
[INFO] [stderr]     |
[INFO] [stderr] 238 | const LINE_HORZ_DOWN: char = '┬';
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_VERT_LEFT` is never used
[INFO] [stderr]    --> src/term.rs:239:7
[INFO] [stderr]     |
[INFO] [stderr] 239 | const LINE_VERT_LEFT: char = '┤';
[INFO] [stderr]     |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_HORZ_UP` is never used
[INFO] [stderr]    --> src/term.rs:240:7
[INFO] [stderr]     |
[INFO] [stderr] 240 | const LINE_HORZ_UP: char = '┴';
[INFO] [stderr]     |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_FULL` is never used
[INFO] [stderr]  --> src/ui.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const BLOCK_FULL: char = '█';
[INFO] [stderr]   |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_7_8` is never used
[INFO] [stderr]  --> src/ui.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const BLOCK_7_8: char = '▉';
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_6_8` is never used
[INFO] [stderr]  --> src/ui.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const BLOCK_6_8: char = '▊';
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_5_8` is never used
[INFO] [stderr]  --> src/ui.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const BLOCK_5_8: char = '▋';
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_4_8` is never used
[INFO] [stderr]  --> src/ui.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const BLOCK_4_8: char = '▌';
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_3_8` is never used
[INFO] [stderr]  --> src/ui.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const BLOCK_3_8: char = '▍';
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_2_8` is never used
[INFO] [stderr]   --> src/ui.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const BLOCK_2_8: char = '▎';
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_1_8` is never used
[INFO] [stderr]   --> src/ui.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const BLOCK_1_8: char = '▏';
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_DARK` is never used
[INFO] [stderr]   --> src/ui.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const BLOCK_DARK: char = '▓';
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_MEDIUM` is never used
[INFO] [stderr]   --> src/ui.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const BLOCK_MEDIUM: char = '▒';
[INFO] [stderr]    |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_LIGHT` is never used
[INFO] [stderr]   --> src/ui.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const BLOCK_LIGHT: char = '░';
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLOCK_END` is never used
[INFO] [stderr]   --> src/ui.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | const BLOCK_END: char = '▏';
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_CROSS` is never used
[INFO] [stderr]   --> src/ui.rs:23:7
[INFO] [stderr]    |
[INFO] [stderr] 23 | const LINE_CROSS: char = '┼';
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_VERT_RIGHT` is never used
[INFO] [stderr]   --> src/ui.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 | const LINE_VERT_RIGHT: char = '├';
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_HORZ_DOWN` is never used
[INFO] [stderr]   --> src/ui.rs:25:7
[INFO] [stderr]    |
[INFO] [stderr] 25 | const LINE_HORZ_DOWN: char = '┬';
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_VERT_LEFT` is never used
[INFO] [stderr]   --> src/ui.rs:26:7
[INFO] [stderr]    |
[INFO] [stderr] 26 | const LINE_VERT_LEFT: char = '┤';
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `LINE_HORZ_UP` is never used
[INFO] [stderr]   --> src/ui.rs:27:7
[INFO] [stderr]    |
[INFO] [stderr] 27 | const LINE_HORZ_UP: char = '┴';
[INFO] [stderr]    |       ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_focus` and `set_focus` are never used
[INFO] [stderr]   --> src/ui.rs:31:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub trait Ui {
[INFO] [stderr]    |           -- methods in this trait
[INFO] [stderr] 30 |     fn render_to(&self, display: &mut Display);
[INFO] [stderr] 31 |     fn get_focus(&self) -> bool;
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 32 |     fn set_focus(&mut self, state: bool);
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `focus` is never read
[INFO] [stderr]   --> src/ui.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct Menu {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 41 |     focus: bool,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Quadtree` is never used
[INFO] [stderr]   --> src/util.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub enum Quadtree<T: Clone> {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `subdivide`, `value`, and `is_leaf` are never used
[INFO] [stderr]   --> src/util.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | impl<T: Clone> Quadtree<T> {
[INFO] [stderr]    | -------------------------- associated items in this implementation
[INFO] [stderr] 24 |     pub fn new(item: T) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn subdivide(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     pub fn value(&self) -> Option<&T> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn is_leaf(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `grubgeon` (bin "grubgeon" test) generated 56 warnings (run `cargo fix --bin "grubgeon" -p grubgeon --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/grubgeon-32bcac672a6a0a1f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2f83ec339e5c5e569509bbf85593698445854f07b8b994e76e4f2b6f620eaac8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f83ec339e5c5e569509bbf85593698445854f07b8b994e76e4f2b6f620eaac8", kill_on_drop: false }`
[INFO] [stdout] 2f83ec339e5c5e569509bbf85593698445854f07b8b994e76e4f2b6f620eaac8
