[INFO] cloning repository https://github.com/ThibaudDauce/advent_of_code_2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ThibaudDauce/advent_of_code_2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThibaudDauce%2Fadvent_of_code_2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThibaudDauce%2Fadvent_of_code_2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8e178c1f305ad738dc50a5be180b643f15102517
[INFO] checking ThibaudDauce/advent_of_code_2023 against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThibaudDauce%2Fadvent_of_code_2023" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ThibaudDauce/advent_of_code_2023
[INFO] finished tweaking git repo https://github.com/ThibaudDauce/advent_of_code_2023
[INFO] tweaked toml for git repo https://github.com/ThibaudDauce/advent_of_code_2023 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ThibaudDauce/advent_of_code_2023 on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ThibaudDauce/advent_of_code_2023 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded slotmap v0.4.3
[INFO] [stderr]   Downloaded glow v0.7.2
[INFO] [stderr]   Downloaded winnow v0.5.19
[INFO] [stderr]   Downloaded earcutr v0.2.0
[INFO] [stderr]   Downloaded speedy2d v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4b72895cc262f80f9e145ae6c2f55b4f09c62300742ab00482ccfbcf36629a57
[INFO] running `Command { std: "docker" "start" "-a" "4b72895cc262f80f9e145ae6c2f55b4f09c62300742ab00482ccfbcf36629a57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b72895cc262f80f9e145ae6c2f55b4f09c62300742ab00482ccfbcf36629a57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b72895cc262f80f9e145ae6c2f55b4f09c62300742ab00482ccfbcf36629a57", kill_on_drop: false }`
[INFO] [stdout] 4b72895cc262f80f9e145ae6c2f55b4f09c62300742ab00482ccfbcf36629a57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07a030ccb27d2e491c8ee28b560251bd617688e4dc4662c04a5a98aae7570d08
[INFO] running `Command { std: "docker" "start" "-a" "07a030ccb27d2e491c8ee28b560251bd617688e4dc4662c04a5a98aae7570d08", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]     Checking smallvec v1.11.2
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]     Checking memmap2 v0.3.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking mio v0.8.9
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]     Checking exr v1.71.0
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking earcutr v0.2.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking glow v0.7.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking itertools v0.12.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking tiff v0.9.0
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking owned_ttf_parser v0.15.2
[INFO] [stderr]     Checking rusttype v0.9.3
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking calloop v0.9.3
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking wayland-egl v0.29.5
[INFO] [stderr]     Checking glutin v0.28.0
[INFO] [stderr]     Checking speedy2d v2.0.0
[INFO] [stderr]     Checking advent_of_code_2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/05_2.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::{HashMap, HashSet},
[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: `current`
[INFO] [stdout]  --> src/04_1.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     thread::{current, sleep},
[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: `Rgb`
[INFO] [stdout]   --> src/04_1.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | use image::{imageops::overlay, ImageBuffer, Rgb, Rgba};
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rect_at_position` and `rotate_rect`
[INFO] [stdout]   --> src/04_1.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::helpers::{rect_at_position, rotate_rect};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/07_2.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[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: `current`
[INFO] [stdout]  --> src/04_1.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 |     thread::{current, sleep},
[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: `Rgb`
[INFO] [stdout]   --> src/04_1.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | use image::{imageops::overlay, ImageBuffer, Rgb, Rgba};
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rect_at_position` and `rotate_rect`
[INFO] [stdout]   --> src/04_1.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::helpers::{rect_at_position, rotate_rect};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/03_2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::f32::consts::PI;
[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: `std::thread::sleep`
[INFO] [stdout]  --> src/03_2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> src/03_2.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rotate_rect` and `square_at_position`
[INFO] [stdout]  --> src/03_2.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     rotate_rect, run, square_at_position, GlowColor, State, TextManager, TextType, Timings,
[INFO] [stdout]   |     ^^^^^^^^^^^       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stdout]   --> src/03_2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::rngs::ThreadRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/03_2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::color::Color as SpeedyColor`
[INFO] [stdout]   --> src/03_2.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use speedy2d::color::Color as SpeedyColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::dimen::Vector2`
[INFO] [stdout]   --> src/03_2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use speedy2d::dimen::Vector2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `current` and `f32::consts::PI`
[INFO] [stdout]  --> src/04_2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     f32::consts::PI,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     thread::{current, sleep},
[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 imports: `FONT_RATIO`, `TEXT_MARGIN`, `draw_image_rotated`, and `rotate_vec`
[INFO] [stdout]   --> src/04_2.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     draw_image_rotated, rotate_vec, run, GlowColor, State, TextManager, TextType, Timings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 10 |     FONT_RATIO, SCREEN_HEIGHT, SCREEN_WIDTH, TEXT_MARGIN,
[INFO] [stdout]    |     ^^^^^^^^^^                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rgb` and `imageops::overlay`
[INFO] [stdout]   --> src/04_2.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use image::{imageops::overlay, ImageBuffer, Rgb, Rgba};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng as _`
[INFO] [stdout]   --> src/04_2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand::Rng as _;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rect_at_position` and `rotate_rect`
[INFO] [stdout]   --> src/04_2.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::helpers::{rect_at_position, rotate_rect};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/03_2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::f32::consts::PI;
[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: `std::thread::sleep`
[INFO] [stdout]  --> src/03_2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> src/03_2.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rotate_rect` and `square_at_position`
[INFO] [stdout]  --> src/03_2.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     rotate_rect, run, square_at_position, GlowColor, State, TextManager, TextType, Timings,
[INFO] [stdout]   |     ^^^^^^^^^^^       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stdout]   --> src/03_2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::rngs::ThreadRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/03_2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::color::Color as SpeedyColor`
[INFO] [stdout]   --> src/03_2.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use speedy2d::color::Color as SpeedyColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::dimen::Vector2`
[INFO] [stdout]   --> src/03_2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use speedy2d::dimen::Vector2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/03_1.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::f32::consts::PI;
[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: `std::thread::sleep`
[INFO] [stdout]  --> src/03_1.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> src/03_1.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rotate_rect` and `square_at_position`
[INFO] [stdout]  --> src/03_1.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     rotate_rect, run, square_at_position, GlowColor, State, TextManager, TextType, Timings,
[INFO] [stdout]   |     ^^^^^^^^^^^       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stdout]   --> src/03_1.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::rngs::ThreadRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/03_1.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::color::Color as SpeedyColor`
[INFO] [stdout]   --> src/03_1.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use speedy2d::color::Color as SpeedyColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::dimen::Vector2`
[INFO] [stdout]   --> src/03_1.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use speedy2d::dimen::Vector2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `std::f32::consts::PI`
[INFO] [stdout]  --> src/03_1.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::f32::consts::PI;
[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: `std::thread::sleep`
[INFO] [stdout]  --> src/03_1.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> src/03_1.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rotate_rect` and `square_at_position`
[INFO] [stdout]  --> src/03_1.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     rotate_rect, run, square_at_position, GlowColor, State, TextManager, TextType, Timings,
[INFO] [stdout]   |     ^^^^^^^^^^^       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::ThreadRng`
[INFO] [stdout]   --> src/03_1.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::rngs::ThreadRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/03_1.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::color::Color as SpeedyColor`
[INFO] [stdout]   --> src/03_1.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use speedy2d::color::Color as SpeedyColor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `speedy2d::dimen::Vector2`
[INFO] [stdout]   --> src/03_1.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use speedy2d::dimen::Vector2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/05_2.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::{HashMap, HashSet},
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAST_LINES` is never used
[INFO] [stdout]   --> src/01_1.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FAST_LINES: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last` is never read
[INFO] [stdout]   --> src/01_1.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     last: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAST_LINES` is never used
[INFO] [stdout]   --> src/01_2.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FAST_LINES: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last` is never read
[INFO] [stdout]   --> src/01_2.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     last: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/01_2.rs:262:4
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/07_2.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INNER_HEIGHT` is never used
[INFO] [stdout]   --> src/04_1.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const INNER_HEIGHT: f32 = CARD_HEIGHT - 2.0 * CARD_FULL_BORDER;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `no` is never read
[INFO] [stdout]    --> src/04_1.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct Card {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 296 |     no: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string` is never used
[INFO] [stdout]    --> src/03_1.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl Spot {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 142 |     fn string(&self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/07_1.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/04_2.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let mut rng = rand::thread_rng();
[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: `score`
[INFO] [stdout]    --> src/04_2.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |             let score = if number_of_winning_digits == 0 {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/04_2.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARD_CENTER` is never used
[INFO] [stdout]   --> src/04_2.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const CARD_CENTER: Vector2<f32> = Vector2::new(
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `no`, `digits`, and `winning_digits` are never read
[INFO] [stdout]    --> src/04_2.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | struct Card {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 331 |     no: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 332 |     digits: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 333 |     winning_digits: HashSet<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Card` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/04_2.rs:376:4
[INFO] [stdout]     |
[INFO] [stdout] 376 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/05_1.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INNER_HEIGHT` is never used
[INFO] [stdout]   --> src/04_1.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const INNER_HEIGHT: f32 = CARD_HEIGHT - 2.0 * CARD_FULL_BORDER;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `no` is never read
[INFO] [stdout]    --> src/04_1.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct Card {
[INFO] [stdout]     |        ---- field in this struct
[INFO] [stdout] 296 |     no: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `current` and `f32::consts::PI`
[INFO] [stdout]  --> src/04_2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     f32::consts::PI,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     thread::{current, sleep},
[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 imports: `FONT_RATIO`, `TEXT_MARGIN`, `draw_image_rotated`, and `rotate_vec`
[INFO] [stdout]   --> src/04_2.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     draw_image_rotated, rotate_vec, run, GlowColor, State, TextManager, TextType, Timings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 10 |     FONT_RATIO, SCREEN_HEIGHT, SCREEN_WIDTH, TEXT_MARGIN,
[INFO] [stdout]    |     ^^^^^^^^^^                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rgb` and `imageops::overlay`
[INFO] [stdout]   --> src/04_2.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use image::{imageops::overlay, ImageBuffer, Rgb, Rgba};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng as _`
[INFO] [stdout]   --> src/04_2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand::Rng as _;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `rect_at_position` and `rotate_rect`
[INFO] [stdout]   --> src/04_2.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::helpers::{rect_at_position, rotate_rect};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/05_1.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[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: `HashSet`
[INFO] [stdout]  --> src/07_1.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMOJI_SIZE` is never used
[INFO] [stdout]   --> src/05_2.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const EMOJI_SIZE: f32 = 160.0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]    --> src/05_2.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Section {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 140 |     from: &'static str,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 141 |     to: &'static str,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/05_2.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMOJI_SIZE` is never used
[INFO] [stdout]   --> src/05_1.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const EMOJI_SIZE: f32 = 160.0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/05_1.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMOJI_SIZE` is never used
[INFO] [stdout]   --> src/05_2.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const EMOJI_SIZE: f32 = 160.0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from` and `to` are never read
[INFO] [stdout]    --> src/05_2.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Section {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] 140 |     from: &'static str,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 141 |     to: &'static str,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Section` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/05_2.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAST_LINES` is never used
[INFO] [stdout]   --> src/01_2.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FAST_LINES: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last` is never read
[INFO] [stdout]   --> src/01_2.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     last: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/01_2.rs:262:4
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string` is never used
[INFO] [stdout]    --> src/03_1.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl Spot {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 142 |     fn string(&self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[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: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FAST_LINES` is never used
[INFO] [stdout]   --> src/01_1.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const FAST_LINES: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last` is never read
[INFO] [stdout]   --> src/01_1.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     last: Option<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImage`
[INFO] [stdout]  --> src/helpers.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{DynamicImage, EncodableLayout, GenericImage, ImageBuffer, Rgba};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/04_2.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let mut rng = rand::thread_rng();
[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: `score`
[INFO] [stdout]    --> src/04_2.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |             let score = if number_of_winning_digits == 0 {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/04_2.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let mut rng = rand::thread_rng();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARD_CENTER` is never used
[INFO] [stdout]   --> src/04_2.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const CARD_CENTER: Vector2<f32> = Vector2::new(
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `no`, `digits`, and `winning_digits` are never read
[INFO] [stdout]    --> src/04_2.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | struct Card {
[INFO] [stdout]     |        ---- fields in this struct
[INFO] [stdout] 331 |     no: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 332 |     digits: Vec<u32>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 333 |     winning_digits: HashSet<u32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Card` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/04_2.rs:376:4
[INFO] [stdout]     |
[INFO] [stdout] 376 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Gray` is never constructed
[INFO] [stdout]   --> src/helpers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub(crate) enum TextType {
[INFO] [stdout]    |                 -------- variant in this enum
[INFO] [stdout] 50 |     Glow(GlowColor),
[INFO] [stdout] 51 |     Gray,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Left` and `Right` are never constructed
[INFO] [stdout]    --> src/helpers.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub(crate) enum Align {
[INFO] [stdout]     |                 ----- variants in this enum
[INFO] [stdout] 262 |     Center,
[INFO] [stdout] 263 |     Left,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 264 |     Right,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_to_rectangle` is never used
[INFO] [stdout]    --> src/helpers.rs:480:15
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub(crate) fn array_to_rectangle(array: [Vector2<f32>; 4]) -> Rectangle {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:484:15
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub(crate) fn square_at_position(center: Vector2<f32>, size: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rect_at_position` is never used
[INFO] [stdout]    --> src/helpers.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub(crate) fn rect_at_position(center: Vector2<f32>, width: f32, height: f32) -> [Vector2<f32>; 4] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMOJI_SIZE` is never used
[INFO] [stdout]   --> src/05_1.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const EMOJI_SIZE: f32 = 160.0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ex_input` is never used
[INFO] [stdout]    --> src/05_1.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn ex_input() -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT_RATIO` is never used
[INFO] [stdout]   --> src/helpers.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) const FONT_RATIO: f32 = 427.0 / 1000.0;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Red` is never constructed
[INFO] [stdout]   --> src/helpers.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub(crate) enum GlowColor {
[INFO] [stdout]    |                 --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     Red,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlowColor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_in_cube_ease_out_quad` is never used
[INFO] [stdout]    --> src/helpers.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub(crate) fn ease_in_cube_ease_out_quad(x: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:498:15
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub(crate) fn rotate_rect(rect: &mut [Vector2<f32>; 4], center: Vector2<f32>, rotation_rad: f32) {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rotate_vec` is never used
[INFO] [stdout]    --> src/helpers.rs:505:15
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub(crate) fn rotate_vec(
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_image_rotated` is never used
[INFO] [stdout]    --> src/helpers.rs:521:15
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub(crate) fn draw_image_rotated(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `translate_rect` is never used
[INFO] [stdout]    --> src/helpers.rs:546:15
[INFO] [stdout]     |
[INFO] [stdout] 546 | pub(crate) fn translate_rect(rect: &mut [Vector2<f32>; 4], translation: Vector2<f32>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `interp` is never used
[INFO] [stdout]    --> src/helpers.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub(crate) fn interp(start: f32, end: f32, percentage: f32) -> f32 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.16s
[INFO] running `Command { std: "docker" "inspect" "07a030ccb27d2e491c8ee28b560251bd617688e4dc4662c04a5a98aae7570d08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07a030ccb27d2e491c8ee28b560251bd617688e4dc4662c04a5a98aae7570d08", kill_on_drop: false }`
[INFO] [stdout] 07a030ccb27d2e491c8ee28b560251bd617688e4dc4662c04a5a98aae7570d08
