[INFO] cloning repository https://github.com/Emadlgg/proyecto1_raycasting
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Emadlgg/proyecto1_raycasting" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEmadlgg%2Fproyecto1_raycasting", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEmadlgg%2Fproyecto1_raycasting'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6706c69df1772628a9de8584d803b4d6984166a7
[INFO] building Emadlgg/proyecto1_raycasting against master#eb171a227f9e5de5d376b6edb56b174bc8235fb3 for pr-149937
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEmadlgg%2Fproyecto1_raycasting" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Emadlgg/proyecto1_raycasting
[INFO] finished tweaking git repo https://github.com/Emadlgg/proyecto1_raycasting
[INFO] tweaked toml for git repo https://github.com/Emadlgg/proyecto1_raycasting written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Emadlgg/proyecto1_raycasting on toolchain eb171a227f9e5de5d376b6edb56b174bc8235fb3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Emadlgg/proyecto1_raycasting 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" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ogg v0.8.0
[INFO] [stderr]   Downloaded symphonia v0.5.4
[INFO] [stderr]   Downloaded symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.17
[INFO] [stderr]   Downloaded symphonia-metadata v0.5.4
[INFO] [stderr]   Downloaded fdeflate v0.3.7
[INFO] [stderr]   Downloaded tinyvec v1.10.0
[INFO] [stderr]   Downloaded gif v0.13.3
[INFO] [stderr]   Downloaded winapi-util v0.1.10
[INFO] [stderr]   Downloaded lebe v0.5.2
[INFO] [stderr]   Downloaded is-terminal v0.4.16
[INFO] [stderr]   Downloaded humantime v2.2.0
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] [stderr]   Downloaded anyhow v1.0.99
[INFO] [stderr]   Downloaded raylib v5.5.1
[INFO] [stderr]   Downloaded qoi v0.4.1
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.26
[INFO] [stderr]   Downloaded claxon v0.4.3
[INFO] [stderr]   Downloaded png v0.17.16
[INFO] [stderr]   Downloaded rayon v1.11.0
[INFO] [stderr]   Downloaded oboe-sys v0.6.1
[INFO] [stderr]   Downloaded winnow v0.7.13
[INFO] [stderr]   Downloaded prettyplease v0.2.37
[INFO] [stderr]   Downloaded alsa v0.9.1
[INFO] [stderr]   Downloaded exr v1.73.0
[INFO] [stderr]   Downloaded bindgen v0.70.1
[INFO] [stderr]   Downloaded zerocopy v0.8.26
[INFO] [stderr]   Downloaded bindgen v0.72.0
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.42.2
[INFO] [stderr]   Downloaded ndk-sys v0.5.0+25.2.9519653
[INFO] [stderr]   Downloaded flate2 v1.1.2
[INFO] [stderr]   Downloaded rayon-core v1.13.0
[INFO] [stderr]   Downloaded itertools v0.13.0
[INFO] [stderr]   Downloaded hashbrown v0.15.5
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded wasi v0.14.2+wasi-0.2.4
[INFO] [stderr]   Downloaded jni v0.21.1
[INFO] [stderr]   Downloaded ndk v0.8.0
[INFO] [stderr]   Downloaded cc v1.2.33
[INFO] [stderr]   Downloaded half v2.6.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.42.2
[INFO] [stderr]   Downloaded web-sys v0.3.77
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.42.2
[INFO] [stderr]   Downloaded clang-sys v1.8.1
[INFO] [stderr]   Downloaded windows_i686_msvc v0.42.2
[INFO] [stderr]   Downloaded windows_i686_gnu v0.42.2
[INFO] [stderr]   Downloaded indexmap v2.11.0
[INFO] [stderr]   Downloaded cpal v0.15.3
[INFO] [stderr]   Downloaded libc v0.2.175
[INFO] [stderr]   Downloaded weezl v0.1.10
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.2
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.53.0
[INFO] [stderr]   Downloaded windows_i686_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.53.0
[INFO] [stderr]   Downloaded getrandom v0.2.16
[INFO] [stderr]   Downloaded glob v0.3.3
[INFO] [stderr]   Downloaded combine v4.6.7
[INFO] [stderr]   Downloaded toml_edit v0.22.27
[INFO] [stderr]   Downloaded getrandom v0.3.3
[INFO] [stderr]   Downloaded hermit-abi v0.5.2
[INFO] [stderr]   Downloaded bit_field v0.10.3
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.21
[INFO] [stderr]   Downloaded cmake v0.1.54
[INFO] [stderr]   Downloaded pkg-config v0.3.32
[INFO] [stderr]   Downloaded alsa-sys v0.3.1
[INFO] [stderr]   Downloaded cexpr v0.6.0
[INFO] [stderr]   Downloaded libloading v0.8.8
[INFO] [stderr]   Downloaded either v1.15.0
[INFO] [stderr]   Downloaded coreaudio-rs v0.11.3
[INFO] [stderr]   Downloaded walkdir v2.5.0
[INFO] [stderr]   Downloaded bitflags v2.9.2
[INFO] [stderr]   Downloaded crunchy v0.2.4
[INFO] [stderr]   Downloaded zune-inflate v0.2.54
[INFO] [stderr]   Downloaded crc32fast v1.5.0
[INFO] [stderr]   Downloaded simd-adler32 v0.3.7
[INFO] [stderr]   Downloaded seq-macro v0.3.6
[INFO] [stderr]   Downloaded rustc-hash v2.1.1
[INFO] [stderr]   Downloaded dasp_sample v0.11.0
[INFO] [stderr]   Downloaded mach2 v0.4.3
[INFO] [stderr]   Downloaded cesu8 v1.1.0
[INFO] [stderr]   Downloaded windows-link v0.1.3
[INFO] [stderr]   Downloaded tiff v0.9.1
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded proc-macro-crate v3.3.0
[INFO] [stderr]   Downloaded num_enum v0.7.4
[INFO] [stderr]   Downloaded jobserver v0.1.34
[INFO] [stderr]   Downloaded oboe v0.6.1
[INFO] [stderr]   Downloaded hound v3.5.1
[INFO] [stderr]   Downloaded color_quant v1.1.0
[INFO] [stderr]   Downloaded same-file v1.0.6
[INFO] [stderr]   Downloaded wit-bindgen-rt v0.39.0
[INFO] [stderr]   Downloaded windows-core v0.54.0
[INFO] [stderr]   Downloaded jni-sys v0.3.0
[INFO] [stderr]   Downloaded equivalent v1.0.2
[INFO] [stderr]   Downloaded toml_datetime v0.6.11
[INFO] [stderr]   Downloaded ndk-context v0.1.1
[INFO] [stderr]   Downloaded r-efi v5.3.0
[INFO] [stderr]   Downloaded windows-result v0.1.2
[INFO] [stderr]   Downloaded symphonia-core v0.5.4
[INFO] [stderr]   Downloaded windows-targets v0.42.2
[INFO] [stderr]   Downloaded num_enum_derive v0.7.4
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.50
[INFO] [stderr]   Downloaded bytemuck v1.23.2
[INFO] [stderr]   Downloaded rodio v0.17.3
[INFO] [stderr]   Downloaded lewton v0.10.2
[INFO] [stderr]   Downloaded windows-sys v0.45.0
[INFO] [stderr]   Downloaded windows-sys v0.60.2
[INFO] [stderr]   Downloaded raylib-sys v5.5.1
[INFO] [stderr]   Downloaded image v0.24.9
[INFO] [stderr]   Downloaded windows v0.54.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4a52c0d6aefcf64f5ce855afa266544903248415f1ae24e637d220aaf8fb79af
[INFO] running `Command { std: "docker" "start" "-a" "4a52c0d6aefcf64f5ce855afa266544903248415f1ae24e637d220aaf8fb79af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a52c0d6aefcf64f5ce855afa266544903248415f1ae24e637d220aaf8fb79af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a52c0d6aefcf64f5ce855afa266544903248415f1ae24e637d220aaf8fb79af", kill_on_drop: false }`
[INFO] [stdout] 4a52c0d6aefcf64f5ce855afa266544903248415f1ae24e637d220aaf8fb79af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4aea479792d6840c417efffd81a810291d28cae8bdf85cc66830b1329eb460fa
[INFO] running `Command { std: "docker" "start" "-a" "4aea479792d6840c417efffd81a810291d28cae8bdf85cc66830b1329eb460fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling bindgen v0.70.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling bitflags v2.9.2
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling symphonia-core v0.5.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling symphonia-metadata v0.5.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling symphonia v0.5.4
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling claxon v0.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling hound v3.5.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rodio v0.17.3
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling raylib-sys v5.5.1
[INFO] [stderr]    Compiling raylib v5.5.1
[INFO] [stderr]    Compiling proyecto1 v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgba`
[INFO] [stdout]  --> src/texture_manager.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::{DynamicImage, 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: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/texture_manager.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 let is_mortar_v = (brick_col % 12 == 0);
[INFO] [stdout]     |                                   ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 let is_mortar_v = (brick_col % 12 == 0);
[INFO] [stdout] 127 +                 let is_mortar_v = brick_col % 12 == 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgba`
[INFO] [stdout]  --> src/sprite_manager.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::{DynamicImage, ImageBuffer, Rgba};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `panel_y`
[INFO] [stdout]    --> src/texture_manager.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let panel_y = (texture_y * 4.0) as i32;
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_panel_y`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line` is never used
[INFO] [stdout]  --> src/line.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn line(
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MazeData` is never constructed
[INFO] [stdout]  --> src/maze.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MazeData {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/maze.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl MazeData {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(grid: Maze) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_cell(&self, x: usize, y: usize) -> char {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_cell_safe(&self, x: f32, y: f32, block_size: usize) -> char {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_wall(&self, x: usize, y: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn is_walkable(&self, x: usize, y: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn can_move_to(&self, world_x: f32, world_y: f32, block_size: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn set_cell(&mut self, x: usize, y: usize, cell: char) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn iter(&self) -> impl Iterator<Item = &Vec<char>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get(&self, index: usize) -> Option<&Vec<char>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_maze_data` is never used
[INFO] [stdout]    --> src/maze.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn load_maze_data(filename: &str) -> MazeData {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cell_safe` is never used
[INFO] [stdout]    --> src/maze.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn get_cell_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_to_safe` is never used
[INFO] [stdout]    --> src/maze.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn can_move_to_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture_y` is never read
[INFO] [stdout]   --> src/caster.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Intersect {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub texture_y: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Intersect` 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 `render_world_textured` is never used
[INFO] [stdout]    --> src/caster.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn render_world_textured(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_world_objects` is never used
[INFO] [stdout]    --> src/caster.rs:353:8
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub fn render_world_objects(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object_cell` is never used
[INFO] [stdout]    --> src/caster.rs:379:4
[INFO] [stdout]     |
[INFO] [stdout] 379 | fn is_object_cell(cell: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_simple_sprite` is never used
[INFO] [stdout]    --> src/caster.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn render_simple_sprite(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sprite_scale` is never used
[INFO] [stdout]    --> src/caster.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn get_sprite_scale(obj_type: char) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_sprite_shape` is never used
[INFO] [stdout]    --> src/caster.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn render_sprite_shape(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sprite_color` is never used
[INFO] [stdout]    --> src/caster.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn get_sprite_color(sprite_type: char) -> Color {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_key_shape` is never used
[INFO] [stdout]    --> src/caster.rs:477:4
[INFO] [stdout]     |
[INFO] [stdout] 477 | fn render_key_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_cross_shape` is never used
[INFO] [stdout]    --> src/caster.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn render_cross_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_circle_shape` is never used
[INFO] [stdout]    --> src/caster.rs:518:4
[INFO] [stdout]     |
[INFO] [stdout] 518 | fn render_circle_shape(framebuffer: &mut Framebuffer, center_x: i32, center_y: i32, radius: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_triangle_shape` is never used
[INFO] [stdout]    --> src/caster.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn render_triangle_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_square_shape` is never used
[INFO] [stdout]    --> src/caster.rs:551:4
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn render_square_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_safe` is never used
[INFO] [stdout]    --> src/caster.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub fn cast_ray_safe(maze: &Maze, player: &Player, angle: f32, block_size: usize) -> Intersect {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_world_safe` is never used
[INFO] [stdout]    --> src/caster.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn render_world_safe(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with_pos` is never used
[INFO] [stdout]   --> src/player.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Player {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn new_with_pos(x: f32, y: f32, angle: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cell_safe` is never used
[INFO] [stdout]    --> src/player.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn get_cell_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_events_with_maze` is never used
[INFO] [stdout]    --> src/player.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn process_events_with_maze(player: &mut Player, rl: &RaylibHandle, maze: &Maze, block_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_mouse_input` is never used
[INFO] [stdout]    --> src/player.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub fn process_mouse_input(player: &mut Player, mouse_delta: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_to_with_maze` is never used
[INFO] [stdout]    --> src/player.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn can_move_to_with_maze(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_events` is never used
[INFO] [stdout]    --> src/player.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn process_events(player: &mut Player, rl: &RaylibHandle, game_state: &crate::game_state::GameState, block_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_level`, `update`, `check_player_interactions_simple`, `can_player_move_to`, and `emergency_reset` are never used
[INFO] [stdout]    --> src/game_state.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl GameState {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn next_level(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn update(&mut self, audio_manager: &mut AudioManager, block_size: usize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     fn check_player_interactions_simple(&mut self, _audio_manager: &mut AudioManager, block_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn can_player_move_to(&self, x: f32, y: f32, _block_size: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn emergency_reset(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/audio.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl AudioManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn resume_music_after_sfx(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn play_important_sfx(&mut self, sound_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn set_sfx_volume(&mut self, volume: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn play_portal_sound(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn resume_game_music_after_victory(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn get_sfx_volume(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn pause_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn resume_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_texture_size` is never read
[INFO] [stdout]   --> src/texture_manager.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct TextureManager {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     default_texture_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_wall_color`, `get_wall_color_fallback`, `has_texture`, `is_wall_cell`, and `get_texture_size` are never used
[INFO] [stdout]    --> src/texture_manager.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl TextureManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_wall_color(&self, wall_type: char) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn get_wall_color_fallback(&self, ch: char) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn has_texture(&self, ch: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn is_wall_cell(&self, cell: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_texture_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fallback_color` is never read
[INFO] [stdout]    --> src/sprite_manager.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct RealSpriteInfo {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fallback_color: Color,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_sprite_at` and `sprite_count` are never used
[INFO] [stdout]    --> src/sprite_manager.rs:430:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl SpriteManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn remove_sprite_at(&mut self, world_x: f32, world_y: f32, tolerance: f32) -> Option<SpriteType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn sprite_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_hud` is never used
[INFO] [stdout]    --> src/ui.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub fn render_hud(framebuffer: &mut Framebuffer, game_data: &GameData) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duration` and `notification_type` are never read
[INFO] [stdout]   --> src/notification.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Notification {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub duration: f32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 12 |     pub remaining_time: f32,
[INFO] [stdout] 13 |     pub notification_type: NotificationType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Notification` 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: variant `Info` is never constructed
[INFO] [stdout]   --> src/notification.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum NotificationType {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 18 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NotificationType` 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: struct `CollisionSystem` is never constructed
[INFO] [stdout]  --> src/collision.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct CollisionSystem {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/collision.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl CollisionSystem {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(maze: Maze, block_size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn is_within_bounds(&self, grid_x: usize, grid_y: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn world_to_grid(&self, x: f32, y: f32) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_cell(&self, x: f32, y: f32) -> char {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn can_move_to(&self, x: f32, y: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn can_move_to_with_radius(&self, center_x: f32, center_y: f32, radius: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn update_maze(&mut self, new_maze: Maze) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn get_dimensions(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn safe_raycast_check(&self, x: f32, y: f32) -> char {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_to_with_maze_safe` is never used
[INFO] [stdout]    --> src/collision.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn can_move_to_with_maze_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized] target(s) in 1m 50s
[INFO] running `Command { std: "docker" "inspect" "4aea479792d6840c417efffd81a810291d28cae8bdf85cc66830b1329eb460fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4aea479792d6840c417efffd81a810291d28cae8bdf85cc66830b1329eb460fa", kill_on_drop: false }`
[INFO] [stdout] 4aea479792d6840c417efffd81a810291d28cae8bdf85cc66830b1329eb460fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+eb171a227f9e5de5d376b6edb56b174bc8235fb3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] efdd7bf2f2446338e6fd78dcdd6f62c3a6a96f7fa5ea52ba698798a0984d14b0
[INFO] running `Command { std: "docker" "start" "-a" "efdd7bf2f2446338e6fd78dcdd6f62c3a6a96f7fa5ea52ba698798a0984d14b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proyecto1 v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgba`
[INFO] [stdout]  --> src/texture_manager.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::{DynamicImage, 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: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/texture_manager.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 let is_mortar_v = (brick_col % 12 == 0);
[INFO] [stdout]     |                                   ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -                 let is_mortar_v = (brick_col % 12 == 0);
[INFO] [stdout] 127 +                 let is_mortar_v = brick_col % 12 == 0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgba`
[INFO] [stdout]  --> src/sprite_manager.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use image::{DynamicImage, ImageBuffer, Rgba};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `panel_y`
[INFO] [stdout]    --> src/texture_manager.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let panel_y = (texture_y * 4.0) as i32;
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_panel_y`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `line` is never used
[INFO] [stdout]  --> src/line.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn line(
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MazeData` is never constructed
[INFO] [stdout]  --> src/maze.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MazeData {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/maze.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl MazeData {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(grid: Maze) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_cell(&self, x: usize, y: usize) -> char {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_cell_safe(&self, x: f32, y: f32, block_size: usize) -> char {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_wall(&self, x: usize, y: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn is_walkable(&self, x: usize, y: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn can_move_to(&self, world_x: f32, world_y: f32, block_size: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn set_cell(&mut self, x: usize, y: usize, cell: char) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn iter(&self) -> impl Iterator<Item = &Vec<char>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get(&self, index: usize) -> Option<&Vec<char>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_maze_data` is never used
[INFO] [stdout]    --> src/maze.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn load_maze_data(filename: &str) -> MazeData {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cell_safe` is never used
[INFO] [stdout]    --> src/maze.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn get_cell_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_to_safe` is never used
[INFO] [stdout]    --> src/maze.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn can_move_to_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture_y` is never read
[INFO] [stdout]   --> src/caster.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Intersect {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub texture_y: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Intersect` 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 `render_world_textured` is never used
[INFO] [stdout]    --> src/caster.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn render_world_textured(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_world_objects` is never used
[INFO] [stdout]    --> src/caster.rs:353:8
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub fn render_world_objects(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_object_cell` is never used
[INFO] [stdout]    --> src/caster.rs:379:4
[INFO] [stdout]     |
[INFO] [stdout] 379 | fn is_object_cell(cell: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_simple_sprite` is never used
[INFO] [stdout]    --> src/caster.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn render_simple_sprite(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sprite_scale` is never used
[INFO] [stdout]    --> src/caster.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn get_sprite_scale(obj_type: char) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_sprite_shape` is never used
[INFO] [stdout]    --> src/caster.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn render_sprite_shape(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_sprite_color` is never used
[INFO] [stdout]    --> src/caster.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn get_sprite_color(sprite_type: char) -> Color {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_key_shape` is never used
[INFO] [stdout]    --> src/caster.rs:477:4
[INFO] [stdout]     |
[INFO] [stdout] 477 | fn render_key_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_cross_shape` is never used
[INFO] [stdout]    --> src/caster.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn render_cross_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_circle_shape` is never used
[INFO] [stdout]    --> src/caster.rs:518:4
[INFO] [stdout]     |
[INFO] [stdout] 518 | fn render_circle_shape(framebuffer: &mut Framebuffer, center_x: i32, center_y: i32, radius: i32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_triangle_shape` is never used
[INFO] [stdout]    --> src/caster.rs:533:4
[INFO] [stdout]     |
[INFO] [stdout] 533 | fn render_triangle_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_square_shape` is never used
[INFO] [stdout]    --> src/caster.rs:551:4
[INFO] [stdout]     |
[INFO] [stdout] 551 | fn render_square_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_safe` is never used
[INFO] [stdout]    --> src/caster.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub fn cast_ray_safe(maze: &Maze, player: &Player, angle: f32, block_size: usize) -> Intersect {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_world_safe` is never used
[INFO] [stdout]    --> src/caster.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn render_world_safe(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_with_pos` is never used
[INFO] [stdout]   --> src/player.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Player {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn new_with_pos(x: f32, y: f32, angle: f32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_cell_safe` is never used
[INFO] [stdout]    --> src/player.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn get_cell_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_events_with_maze` is never used
[INFO] [stdout]    --> src/player.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn process_events_with_maze(player: &mut Player, rl: &RaylibHandle, maze: &Maze, block_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_mouse_input` is never used
[INFO] [stdout]    --> src/player.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub fn process_mouse_input(player: &mut Player, mouse_delta: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_to_with_maze` is never used
[INFO] [stdout]    --> src/player.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn can_move_to_with_maze(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_events` is never used
[INFO] [stdout]    --> src/player.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn process_events(player: &mut Player, rl: &RaylibHandle, game_state: &crate::game_state::GameState, block_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_level`, `update`, `check_player_interactions_simple`, `can_player_move_to`, and `emergency_reset` are never used
[INFO] [stdout]    --> src/game_state.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl GameState {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn next_level(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn update(&mut self, audio_manager: &mut AudioManager, block_size: usize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     fn check_player_interactions_simple(&mut self, _audio_manager: &mut AudioManager, block_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn can_player_move_to(&self, x: f32, y: f32, _block_size: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn emergency_reset(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/audio.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl AudioManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn resume_music_after_sfx(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn play_important_sfx(&mut self, sound_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn set_sfx_volume(&mut self, volume: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn play_portal_sound(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn resume_game_music_after_victory(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn get_sfx_volume(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn pause_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn resume_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_texture_size` is never read
[INFO] [stdout]   --> src/texture_manager.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct TextureManager {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     default_texture_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_wall_color`, `get_wall_color_fallback`, `has_texture`, `is_wall_cell`, and `get_texture_size` are never used
[INFO] [stdout]    --> src/texture_manager.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl TextureManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn get_wall_color(&self, wall_type: char) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn get_wall_color_fallback(&self, ch: char) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn has_texture(&self, ch: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn is_wall_cell(&self, cell: char) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn get_texture_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fallback_color` is never read
[INFO] [stdout]    --> src/sprite_manager.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct RealSpriteInfo {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fallback_color: Color,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_sprite_at` and `sprite_count` are never used
[INFO] [stdout]    --> src/sprite_manager.rs:430:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl SpriteManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn remove_sprite_at(&mut self, world_x: f32, world_y: f32, tolerance: f32) -> Option<SpriteType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn sprite_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_hud` is never used
[INFO] [stdout]    --> src/ui.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub fn render_hud(framebuffer: &mut Framebuffer, game_data: &GameData) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `duration` and `notification_type` are never read
[INFO] [stdout]   --> src/notification.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Notification {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub duration: f32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 12 |     pub remaining_time: f32,
[INFO] [stdout] 13 |     pub notification_type: NotificationType,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Notification` 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: variant `Info` is never constructed
[INFO] [stdout]   --> src/notification.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum NotificationType {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 18 |     Info,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NotificationType` 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: struct `CollisionSystem` is never constructed
[INFO] [stdout]  --> src/collision.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct CollisionSystem {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/collision.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl CollisionSystem {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(maze: Maze, block_size: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn is_within_bounds(&self, grid_x: usize, grid_y: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn world_to_grid(&self, x: f32, y: f32) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_cell(&self, x: f32, y: f32) -> char {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn can_move_to(&self, x: f32, y: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn can_move_to_with_radius(&self, center_x: f32, center_y: f32, radius: f32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn update_maze(&mut self, new_maze: Maze) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn get_dimensions(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn safe_raycast_check(&self, x: f32, y: f32) -> char {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_move_to_with_maze_safe` is never used
[INFO] [stdout]    --> src/collision.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn can_move_to_with_maze_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [optimized] target(s) in 0.54s
[INFO] running `Command { std: "docker" "inspect" "efdd7bf2f2446338e6fd78dcdd6f62c3a6a96f7fa5ea52ba698798a0984d14b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "efdd7bf2f2446338e6fd78dcdd6f62c3a6a96f7fa5ea52ba698798a0984d14b0", kill_on_drop: false }`
[INFO] [stdout] efdd7bf2f2446338e6fd78dcdd6f62c3a6a96f7fa5ea52ba698798a0984d14b0
