[INFO] cloning repository https://github.com/tsmaster/rust-navexp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tsmaster/rust-navexp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmaster%2Frust-navexp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmaster%2Frust-navexp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 45c7264a5e59591ef9cc83c03cc8c109fe967630
[INFO] checking tsmaster/rust-navexp against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftsmaster%2Frust-navexp" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tsmaster/rust-navexp
[INFO] finished tweaking git repo https://github.com/tsmaster/rust-navexp
[INFO] tweaked toml for git repo https://github.com/tsmaster/rust-navexp written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tsmaster/rust-navexp on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tsmaster/rust-navexp 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded priority-queue v1.2.2
[INFO] [stderr]   Downloaded delaunator v1.0.1
[INFO] [stderr]   Downloaded voronoice v0.2.0
[INFO] [stderr]   Downloaded macroquad v0.3.22
[INFO] [stderr]   Downloaded miniquad v0.3.10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 757d2541c3a32b4ed9572eb0aa72d4412a8dd36b9babbcfb2277c676fcf3d7e2
[INFO] running `Command { std: "docker" "start" "-a" "757d2541c3a32b4ed9572eb0aa72d4412a8dd36b9babbcfb2277c676fcf3d7e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "757d2541c3a32b4ed9572eb0aa72d4412a8dd36b9babbcfb2277c676fcf3d7e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "757d2541c3a32b4ed9572eb0aa72d4412a8dd36b9babbcfb2277c676fcf3d7e2", kill_on_drop: false }`
[INFO] [stdout] 757d2541c3a32b4ed9572eb0aa72d4412a8dd36b9babbcfb2277c676fcf3d7e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05c3b842facb1d0cbf4c2673b29a4615cdb21791a24216ef526aeb19a37d0174
[INFO] running `Command { std: "docker" "start" "-a" "05c3b842facb1d0cbf4c2673b29a4615cdb21791a24216ef526aeb19a37d0174", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling quad-alsa-sys v0.3.2
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling miniquad v0.3.10
[INFO] [stderr]     Checking ahash v0.4.7
[INFO] [stderr]     Checking hound v3.4.0
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]    Compiling quad-snd v0.2.3
[INFO] [stderr]     Checking ttf-parser v0.12.3
[INFO] [stderr]     Checking ogg v0.7.1
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]     Checking robust v0.2.3
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking dasp_frame v0.11.0
[INFO] [stderr]     Checking hashbrown v0.12.1
[INFO] [stderr]    Compiling async-trait v0.1.56
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking glam v0.14.0
[INFO] [stderr]     Checking bumpalo v3.9.1
[INFO] [stderr]     Checking quad-rand v0.2.1
[INFO] [stderr]    Compiling macroquad_macro v0.1.7
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling priority-queue v1.2.2
[INFO] [stderr]     Checking fontdue v0.5.2
[INFO] [stderr]     Checking lewton v0.9.4
[INFO] [stderr]     Checking delaunator v1.0.1
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking voronoice v0.2.0
[INFO] [stderr]     Checking audrey v0.3.0
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking macroquad v0.3.22
[INFO] [stderr]     Checking navexp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/screens/bdg_logo.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     if (is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 57 |         is_key_down(KeyCode::Space)) {
[INFO] [stdout]    |                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     if is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout] 55 |         is_mouse_button_down(MouseButton::Middle) ||
[INFO] [stdout] 56 |         is_mouse_button_down(MouseButton::Right) ||
[INFO] [stdout] 57 ~         is_key_down(KeyCode::Space) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/screens/title.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     if (is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 60 |         is_key_down(KeyCode::Space)) {
[INFO] [stdout]    |                                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 ~     if is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout] 58 |         is_mouse_button_down(MouseButton::Middle) ||
[INFO] [stdout] 59 |         is_mouse_button_down(MouseButton::Right) ||
[INFO] [stdout] 60 ~         is_key_down(KeyCode::Space) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Group`
[INFO] [stdout]   --> src/screens/menu.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     widgets::{self, Group},
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::big_dice_games::util::map`
[INFO] [stdout]   --> src/screens/square_nav.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::big_dice_games::util::map;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exact_8` should have an upper camel case name
[INFO] [stdout]   --> src/screens/square_nav.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Exact_8,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Exact8`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/screens/square_nav.rs:221:7
[INFO] [stdout]     |
[INFO] [stdout] 221 |     match(self.heuristic) {
[INFO] [stdout]     |          ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 221 -     match(self.heuristic) {
[INFO] [stdout] 221 +     match self.heuristic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     if (!self.is_8_way) {
[INFO] [stdout]     |        ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 260 -     if (!self.is_8_way) {
[INFO] [stdout] 260 +     if !self.is_8_way {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if (min_dim < 1.0) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 275 -     if (min_dim < 1.0) {
[INFO] [stdout] 275 +     if min_dim < 1.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 323 |     if (min_dim < 1.0) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 323 -     if (min_dim < 1.0) {
[INFO] [stdout] 323 +     if min_dim < 1.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     if (x > 0) {
[INFO] [stdout]     |        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 343 -     if (x > 0) {
[INFO] [stdout] 343 +     if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     if (x < self.num_x - 1) {
[INFO] [stdout]     |        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 346 -     if (x < self.num_x - 1) {
[INFO] [stdout] 346 +     if x < self.num_x - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     if (y > 0) {
[INFO] [stdout]     |        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 350 -     if (y > 0) {
[INFO] [stdout] 350 +     if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     if (y < self.num_y - 1) {
[INFO] [stdout]     |        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 353 -     if (y < self.num_y - 1) {
[INFO] [stdout] 353 +     if y < self.num_y - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     if (self.is_8_way) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -     if (self.is_8_way) {
[INFO] [stdout] 357 +     if self.is_8_way {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 358 |         if (x > 0 && y > 0) {
[INFO] [stdout]     |            ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 358 -         if (x > 0 && y > 0) {
[INFO] [stdout] 358 +         if x > 0 && y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:362:9
[INFO] [stdout]     |
[INFO] [stdout] 362 |         if (x < self.num_x - 1 && y > 0)  {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 362 -         if (x < self.num_x - 1 && y > 0)  {
[INFO] [stdout] 362 +         if x < self.num_x - 1 && y > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:366:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if (x > 0 && y < self.num_y - 1) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 366 -         if (x > 0 && y < self.num_y - 1) {
[INFO] [stdout] 366 +         if x > 0 && y < self.num_y - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         if (x < self.num_x - 1 && y < self.num_y - 1) {
[INFO] [stdout]     |            ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 370 -         if (x < self.num_x - 1 && y < self.num_y - 1) {
[INFO] [stdout] 370 +         if x < self.num_x - 1 && y < self.num_y - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:619:9
[INFO] [stdout]     |
[INFO] [stdout] 619 |         if (*prev_index == -1) {
[INFO] [stdout]     |            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 619 -         if (*prev_index == -1) {
[INFO] [stdout] 619 +         if *prev_index == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GameScreen`
[INFO] [stdout]   --> src/screens/house_nav_demo.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::GameScreen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/screens/bdg_logo.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     if (is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 57 |         is_key_down(KeyCode::Space)) {
[INFO] [stdout]    |                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     if is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout] 55 |         is_mouse_button_down(MouseButton::Middle) ||
[INFO] [stdout] 56 |         is_mouse_button_down(MouseButton::Right) ||
[INFO] [stdout] 57 ~         is_key_down(KeyCode::Space) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/screens/title.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     if (is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 60 |         is_key_down(KeyCode::Space)) {
[INFO] [stdout]    |                                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 ~     if is_mouse_button_down(MouseButton::Left) ||
[INFO] [stdout] 58 |         is_mouse_button_down(MouseButton::Middle) ||
[INFO] [stdout] 59 |         is_mouse_button_down(MouseButton::Right) ||
[INFO] [stdout] 60 ~         is_key_down(KeyCode::Space) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Group`
[INFO] [stdout]   --> src/screens/menu.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     widgets::{self, Group},
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::big_dice_games::util::map`
[INFO] [stdout]   --> src/screens/square_nav.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::big_dice_games::util::map;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Exact_8` should have an upper camel case name
[INFO] [stdout]   --> src/screens/square_nav.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     Exact_8,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `Exact8`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/screens/square_nav.rs:221:7
[INFO] [stdout]     |
[INFO] [stdout] 221 |     match(self.heuristic) {
[INFO] [stdout]     |          ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 221 -     match(self.heuristic) {
[INFO] [stdout] 221 +     match self.heuristic {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     if (!self.is_8_way) {
[INFO] [stdout]     |        ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 260 -     if (!self.is_8_way) {
[INFO] [stdout] 260 +     if !self.is_8_way {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if (min_dim < 1.0) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 275 -     if (min_dim < 1.0) {
[INFO] [stdout] 275 +     if min_dim < 1.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 323 |     if (min_dim < 1.0) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 323 -     if (min_dim < 1.0) {
[INFO] [stdout] 323 +     if min_dim < 1.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     if (x > 0) {
[INFO] [stdout]     |        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 343 -     if (x > 0) {
[INFO] [stdout] 343 +     if x > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     if (x < self.num_x - 1) {
[INFO] [stdout]     |        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 346 -     if (x < self.num_x - 1) {
[INFO] [stdout] 346 +     if x < self.num_x - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     if (y > 0) {
[INFO] [stdout]     |        ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 350 -     if (y > 0) {
[INFO] [stdout] 350 +     if y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 353 |     if (y < self.num_y - 1) {
[INFO] [stdout]     |        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 353 -     if (y < self.num_y - 1) {
[INFO] [stdout] 353 +     if y < self.num_y - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     if (self.is_8_way) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 357 -     if (self.is_8_way) {
[INFO] [stdout] 357 +     if self.is_8_way {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:358:9
[INFO] [stdout]     |
[INFO] [stdout] 358 |         if (x > 0 && y > 0) {
[INFO] [stdout]     |            ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 358 -         if (x > 0 && y > 0) {
[INFO] [stdout] 358 +         if x > 0 && y > 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:362:9
[INFO] [stdout]     |
[INFO] [stdout] 362 |         if (x < self.num_x - 1 && y > 0)  {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 362 -         if (x < self.num_x - 1 && y > 0)  {
[INFO] [stdout] 362 +         if x < self.num_x - 1 && y > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:366:9
[INFO] [stdout]     |
[INFO] [stdout] 366 |         if (x > 0 && y < self.num_y - 1) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 366 -         if (x > 0 && y < self.num_y - 1) {
[INFO] [stdout] 366 +         if x > 0 && y < self.num_y - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         if (x < self.num_x - 1 && y < self.num_y - 1) {
[INFO] [stdout]     |            ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 370 -         if (x < self.num_x - 1 && y < self.num_y - 1) {
[INFO] [stdout] 370 +         if x < self.num_x - 1 && y < self.num_y - 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/screens/square_nav.rs:619:9
[INFO] [stdout]     |
[INFO] [stdout] 619 |         if (*prev_index == -1) {
[INFO] [stdout]     |            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 619 -         if (*prev_index == -1) {
[INFO] [stdout] 619 +         if *prev_index == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GameScreen`
[INFO] [stdout]   --> src/screens/house_nav_demo.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::GameScreen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `si`
[INFO] [stdout]    --> src/screens/square_nav.rs:228:62
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn calc_euclid_heuristic_by_indices(&self, a:i32, b:i32, si: i32) -> f32 {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_si`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:264:10
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let mut max_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `min_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 |     let mut min_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cross`
[INFO] [stdout]    --> src/screens/square_nav.rs:307:6
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let cross = (dx1*dy2 - dx2*dy1).abs();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cross`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let mut max_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `min_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:313:10
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let mut min_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dot_size` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:544:10
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let mut dot_size = 2.5;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:550:11
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let mut c = BLUE;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_any` is never used
[INFO] [stdout]   --> src/screens/mod.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Screen {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_y` is never read
[INFO] [stdout]   --> src/screens/bridson.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct BridsonScreen
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     num_y: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heuristic_remaining` is never read
[INFO] [stdout]   --> src/screens/bridson_nav.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct AStarRecord
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     heuristic_remaining: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AStarRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_y` is never read
[INFO] [stdout]   --> src/screens/bridson_nav.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct BridsonNavScreen
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     num_y: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Manhattan` and `Exact_8` are never constructed
[INFO] [stdout]   --> src/screens/square_nav.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum Heuristic {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 34 |     Euclid,
[INFO] [stdout] 35 |     Manhattan,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     Exact_8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `space_count` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 95  | pub struct SquareNavScreen
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     space_count: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `point_in_box` is never used
[INFO] [stdout]    --> src/screens/square_nav.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SquareNavScreen {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn point_in_box(&self, p: &Vec2f) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scale` is never used
[INFO] [stdout]  --> src/big_dice_games/math/vector.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait Vector {
[INFO] [stdout]   |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn scale(&self, factor: f32) -> Self;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3f` is never constructed
[INFO] [stdout]   --> src/big_dice_games/math/vector.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct Vec3f
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sprite` is never constructed
[INFO] [stdout]  --> src/sprite.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Sprite {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `complete` and `clear` are never used
[INFO] [stdout]   --> src/texture_mgr.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl TextureMgr {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn complete(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `si`
[INFO] [stdout]    --> src/screens/square_nav.rs:228:62
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn calc_euclid_heuristic_by_indices(&self, a:i32, b:i32, si: i32) -> f32 {
[INFO] [stdout]     |                                                              ^^ help: if this is intentional, prefix it with an underscore: `_si`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:264:10
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let mut max_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `min_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:265:10
[INFO] [stdout]     |
[INFO] [stdout] 265 |     let mut min_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cross`
[INFO] [stdout]    --> src/screens/square_nav.rs:307:6
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let cross = (dx1*dy2 - dx2*dy1).abs();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_cross`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:312:10
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let mut max_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `min_dim` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:313:10
[INFO] [stdout]     |
[INFO] [stdout] 313 |     let mut min_dim:f32 = 0.0;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dot_size` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:544:10
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let mut dot_size = 2.5;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:550:11
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let mut c = BLUE;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_any` is never used
[INFO] [stdout]   --> src/screens/mod.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait Screen {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_y` is never read
[INFO] [stdout]   --> src/screens/bridson.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct BridsonScreen
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     num_y: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heuristic_remaining` is never read
[INFO] [stdout]   --> src/screens/bridson_nav.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct AStarRecord
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     heuristic_remaining: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AStarRecord` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_y` is never read
[INFO] [stdout]   --> src/screens/bridson_nav.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct BridsonNavScreen
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     num_y: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Manhattan` and `Exact_8` are never constructed
[INFO] [stdout]   --> src/screens/square_nav.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum Heuristic {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] 34 |     Euclid,
[INFO] [stdout] 35 |     Manhattan,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 36 |     Exact_8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `space_count` is never read
[INFO] [stdout]    --> src/screens/square_nav.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 95  | pub struct SquareNavScreen
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     space_count: i32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `point_in_box` is never used
[INFO] [stdout]    --> src/screens/square_nav.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl SquareNavScreen {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn point_in_box(&self, p: &Vec2f) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scale` is never used
[INFO] [stdout]  --> src/big_dice_games/math/vector.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait Vector {
[INFO] [stdout]   |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn scale(&self, factor: f32) -> Self;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vec3f` is never constructed
[INFO] [stdout]   --> src/big_dice_games/math/vector.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct Vec3f
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sprite` is never constructed
[INFO] [stdout]  --> src/sprite.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Sprite {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `complete` and `clear` are never used
[INFO] [stdout]   --> src/texture_mgr.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl TextureMgr {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn complete(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.61s
[INFO] running `Command { std: "docker" "inspect" "05c3b842facb1d0cbf4c2673b29a4615cdb21791a24216ef526aeb19a37d0174", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05c3b842facb1d0cbf4c2673b29a4615cdb21791a24216ef526aeb19a37d0174", kill_on_drop: false }`
[INFO] [stdout] 05c3b842facb1d0cbf4c2673b29a4615cdb21791a24216ef526aeb19a37d0174
