[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] testing Emadlgg/proyecto1_raycasting against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEmadlgg%2Fproyecto1_raycasting" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Emadlgg/proyecto1_raycasting on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a8263c27182357d47de134d03430f01aec7f882da27fc650cd2d323bfb767b87
[INFO] running `Command { std: "docker" "start" "-a" "a8263c27182357d47de134d03430f01aec7f882da27fc650cd2d323bfb767b87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a8263c27182357d47de134d03430f01aec7f882da27fc650cd2d323bfb767b87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8263c27182357d47de134d03430f01aec7f882da27fc650cd2d323bfb767b87", kill_on_drop: false }`
[INFO] [stdout] a8263c27182357d47de134d03430f01aec7f882da27fc650cd2d323bfb767b87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9631dcadedf4c5da6ad09415b1893a848ed573c7f89bb6571723042d913f3424
[INFO] running `Command { std: "docker" "start" "-a" "9631dcadedf4c5da6ad09415b1893a848ed573c7f89bb6571723042d913f3424", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[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 prettyplease v0.2.37
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling bindgen v0.70.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling bitflags v2.9.2
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling symphonia-core v0.5.4
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling symphonia-metadata v0.5.4
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling symphonia v0.5.4
[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 claxon v0.4.3
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling hound v3.5.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rodio v0.17.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling env_logger v0.10.2
[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 37s
[INFO] running `Command { std: "docker" "inspect" "9631dcadedf4c5da6ad09415b1893a848ed573c7f89bb6571723042d913f3424", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9631dcadedf4c5da6ad09415b1893a848ed573c7f89bb6571723042d913f3424", kill_on_drop: false }`
[INFO] [stdout] 9631dcadedf4c5da6ad09415b1893a848ed573c7f89bb6571723042d913f3424
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 424531096bc39ac39964461dd6f898b058e97c944f5689041d0dc66c964981c9
[INFO] running `Command { std: "docker" "start" "-a" "424531096bc39ac39964461dd6f898b058e97c944f5689041d0dc66c964981c9", 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 1.01s
[INFO] running `Command { std: "docker" "inspect" "424531096bc39ac39964461dd6f898b058e97c944f5689041d0dc66c964981c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "424531096bc39ac39964461dd6f898b058e97c944f5689041d0dc66c964981c9", kill_on_drop: false }`
[INFO] [stdout] 424531096bc39ac39964461dd6f898b058e97c944f5689041d0dc66c964981c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7be073d764885c62dd9a0dd1012b9f7b4a516a8d6227ca59da83916a63d88796
[INFO] running `Command { std: "docker" "start" "-a" "7be073d764885c62dd9a0dd1012b9f7b4a516a8d6227ca59da83916a63d88796", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgba`
[INFO] [stderr]  --> src/texture_manager.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use image::{DynamicImage, ImageBuffer, Rgba};
[INFO] [stderr]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/texture_manager.rs:127:35
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 let is_mortar_v = (brick_col % 12 == 0);
[INFO] [stderr]     |                                   ^                   ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 127 -                 let is_mortar_v = (brick_col % 12 == 0);
[INFO] [stderr] 127 +                 let is_mortar_v = brick_col % 12 == 0;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgba`
[INFO] [stderr]  --> src/sprite_manager.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use image::{DynamicImage, ImageBuffer, Rgba};
[INFO] [stderr]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `panel_y`
[INFO] [stderr]    --> src/texture_manager.rs:134:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let panel_y = (texture_y * 4.0) as i32;
[INFO] [stderr]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_panel_y`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `line` is never used
[INFO] [stderr]  --> src/line.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn line(
[INFO] [stderr]   |        ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MazeData` is never constructed
[INFO] [stderr]  --> src/maze.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct MazeData {
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/maze.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl MazeData {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] 15 |     pub fn new(grid: Maze) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn get_cell(&self, x: usize, y: usize) -> char {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn get_cell_safe(&self, x: f32, y: f32, block_size: usize) -> char {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn is_wall(&self, x: usize, y: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn is_walkable(&self, x: usize, y: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn can_move_to(&self, world_x: f32, world_y: f32, block_size: usize) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub fn set_cell(&mut self, x: usize, y: usize, cell: char) {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub fn iter(&self) -> impl Iterator<Item = &Vec<char>> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn get(&self, index: usize) -> Option<&Vec<char>> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     pub fn len(&self) -> usize {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_maze_data` is never used
[INFO] [stderr]    --> src/maze.rs:115:8
[INFO] [stderr]     |
[INFO] [stderr] 115 | pub fn load_maze_data(filename: &str) -> MazeData {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_cell_safe` is never used
[INFO] [stderr]    --> src/maze.rs:142:8
[INFO] [stderr]     |
[INFO] [stderr] 142 | pub fn get_cell_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> char {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `can_move_to_safe` is never used
[INFO] [stderr]    --> src/maze.rs:147:8
[INFO] [stderr]     |
[INFO] [stderr] 147 | pub fn can_move_to_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `texture_y` is never read
[INFO] [stderr]   --> src/caster.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct Intersect {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub texture_y: f32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Intersect` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_world_textured` is never used
[INFO] [stderr]    --> src/caster.rs:208:8
[INFO] [stderr]     |
[INFO] [stderr] 208 | pub fn render_world_textured(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_world_objects` is never used
[INFO] [stderr]    --> src/caster.rs:353:8
[INFO] [stderr]     |
[INFO] [stderr] 353 | pub fn render_world_objects(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_object_cell` is never used
[INFO] [stderr]    --> src/caster.rs:379:4
[INFO] [stderr]     |
[INFO] [stderr] 379 | fn is_object_cell(cell: char) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_simple_sprite` is never used
[INFO] [stderr]    --> src/caster.rs:383:4
[INFO] [stderr]     |
[INFO] [stderr] 383 | fn render_simple_sprite(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_sprite_scale` is never used
[INFO] [stderr]    --> src/caster.rs:429:4
[INFO] [stderr]     |
[INFO] [stderr] 429 | fn get_sprite_scale(obj_type: char) -> f32 {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_sprite_shape` is never used
[INFO] [stderr]    --> src/caster.rs:439:4
[INFO] [stderr]     |
[INFO] [stderr] 439 | fn render_sprite_shape(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_sprite_color` is never used
[INFO] [stderr]    --> src/caster.rs:467:4
[INFO] [stderr]     |
[INFO] [stderr] 467 | fn get_sprite_color(sprite_type: char) -> Color {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_key_shape` is never used
[INFO] [stderr]    --> src/caster.rs:477:4
[INFO] [stderr]     |
[INFO] [stderr] 477 | fn render_key_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_cross_shape` is never used
[INFO] [stderr]    --> src/caster.rs:497:4
[INFO] [stderr]     |
[INFO] [stderr] 497 | fn render_cross_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_circle_shape` is never used
[INFO] [stderr]    --> src/caster.rs:518:4
[INFO] [stderr]     |
[INFO] [stderr] 518 | fn render_circle_shape(framebuffer: &mut Framebuffer, center_x: i32, center_y: i32, radius: i32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_triangle_shape` is never used
[INFO] [stderr]    --> src/caster.rs:533:4
[INFO] [stderr]     |
[INFO] [stderr] 533 | fn render_triangle_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_square_shape` is never used
[INFO] [stderr]    --> src/caster.rs:551:4
[INFO] [stderr]     |
[INFO] [stderr] 551 | fn render_square_shape(framebuffer: &mut Framebuffer, start_x: u32, start_y: u32, end_x: u32, end_y: u32) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cast_ray_safe` is never used
[INFO] [stderr]    --> src/caster.rs:560:8
[INFO] [stderr]     |
[INFO] [stderr] 560 | pub fn cast_ray_safe(maze: &Maze, player: &Player, angle: f32, block_size: usize) -> Intersect {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_world_safe` is never used
[INFO] [stderr]    --> src/caster.rs:564:8
[INFO] [stderr]     |
[INFO] [stderr] 564 | pub fn render_world_safe(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_with_pos` is never used
[INFO] [stderr]   --> src/player.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl Player {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn new_with_pos(x: f32, y: f32, angle: f32) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_cell_safe` is never used
[INFO] [stderr]    --> src/player.rs:184:8
[INFO] [stderr]     |
[INFO] [stderr] 184 | pub fn get_cell_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> char {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_events_with_maze` is never used
[INFO] [stderr]    --> src/player.rs:226:8
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub fn process_events_with_maze(player: &mut Player, rl: &RaylibHandle, maze: &Maze, block_size: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_mouse_input` is never used
[INFO] [stderr]    --> src/player.rs:230:8
[INFO] [stderr]     |
[INFO] [stderr] 230 | pub fn process_mouse_input(player: &mut Player, mouse_delta: f32) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `can_move_to_with_maze` is never used
[INFO] [stderr]    --> src/player.rs:234:8
[INFO] [stderr]     |
[INFO] [stderr] 234 | pub fn can_move_to_with_maze(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_events` is never used
[INFO] [stderr]    --> src/player.rs:239:8
[INFO] [stderr]     |
[INFO] [stderr] 239 | pub fn process_events(player: &mut Player, rl: &RaylibHandle, game_state: &crate::game_state::GameState, block_size: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `next_level`, `update`, `check_player_interactions_simple`, `can_player_move_to`, and `emergency_reset` are never used
[INFO] [stderr]    --> src/game_state.rs:204:12
[INFO] [stderr]     |
[INFO] [stderr]  37 | impl GameState {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 204 |     pub fn next_level(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 338 |     pub fn update(&mut self, audio_manager: &mut AudioManager, block_size: usize) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 356 |     fn check_player_interactions_simple(&mut self, _audio_manager: &mut AudioManager, block_size: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 444 |     pub fn can_player_move_to(&self, x: f32, y: f32, _block_size: usize) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 505 |     pub fn emergency_reset(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/audio.rs:199:12
[INFO] [stderr]     |
[INFO] [stderr]  39 | impl AudioManager {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 199 |     pub fn resume_music_after_sfx(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 235 |     pub fn play_important_sfx(&mut self, sound_name: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 251 |     pub fn set_sfx_volume(&mut self, volume: f32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub fn play_portal_sound(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 279 |     pub fn resume_game_music_after_victory(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 364 |     pub fn get_sfx_volume(&self) -> f32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 369 |     pub fn pause_all(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 378 |     pub fn resume_all(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `default_texture_size` is never read
[INFO] [stderr]   --> src/texture_manager.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub struct TextureManager {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 54 |     default_texture_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_wall_color`, `get_wall_color_fallback`, `has_texture`, `is_wall_cell`, and `get_texture_size` are never used
[INFO] [stderr]    --> src/texture_manager.rs:160:12
[INFO] [stderr]     |
[INFO] [stderr]  57 | impl TextureManager {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn get_wall_color(&self, wall_type: char) -> Color {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 164 |     pub fn get_wall_color_fallback(&self, ch: char) -> Color {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 168 |     pub fn has_texture(&self, ch: char) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn is_wall_cell(&self, cell: char) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn get_texture_size(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `fallback_color` is never read
[INFO] [stderr]    --> src/sprite_manager.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 150 | pub struct RealSpriteInfo {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fallback_color: Color,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove_sprite_at` and `sprite_count` are never used
[INFO] [stderr]    --> src/sprite_manager.rs:430:12
[INFO] [stderr]     |
[INFO] [stderr] 200 | impl SpriteManager {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 430 |     pub fn remove_sprite_at(&mut self, world_x: f32, world_y: f32, tolerance: f32) -> Option<SpriteType> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 444 |     pub fn sprite_count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_hud` is never used
[INFO] [stderr]    --> src/ui.rs:294:8
[INFO] [stderr]     |
[INFO] [stderr] 294 | pub fn render_hud(framebuffer: &mut Framebuffer, game_data: &GameData) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `duration` and `notification_type` are never read
[INFO] [stderr]   --> src/notification.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct Notification {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     pub duration: f32,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 12 |     pub remaining_time: f32,
[INFO] [stderr] 13 |     pub notification_type: NotificationType,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Notification` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Info` is never constructed
[INFO] [stderr]   --> src/notification.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum NotificationType {
[INFO] [stderr]    |          ---------------- variant in this enum
[INFO] [stderr] 18 |     Info,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `NotificationType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CollisionSystem` is never constructed
[INFO] [stderr]  --> src/collision.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct CollisionSystem {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/collision.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl CollisionSystem {
[INFO] [stderr]    | -------------------- associated items in this implementation
[INFO] [stderr] 11 |     pub fn new(maze: Maze, block_size: usize) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     fn is_within_bounds(&self, grid_x: usize, grid_y: usize) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     fn world_to_grid(&self, x: f32, y: f32) -> Option<(usize, usize)> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn get_cell(&self, x: f32, y: f32) -> char {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn can_move_to(&self, x: f32, y: f32) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn can_move_to_with_radius(&self, center_x: f32, center_y: f32, radius: f32) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 76 |     pub fn update_maze(&mut self, new_maze: Maze) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub fn get_dimensions(&self) -> (usize, usize) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 |     pub fn safe_raycast_check(&self, x: f32, y: f32) -> char {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `can_move_to_with_maze_safe` is never used
[INFO] [stderr]    --> src/collision.rs:105:8
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub fn can_move_to_with_maze_safe(x: f32, y: f32, maze: &Maze, block_size: usize) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `proyecto1` (bin "backrooms_escape" test) generated 43 warnings (run `cargo fix --bin "backrooms_escape" -p proyecto1 --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [optimized] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/backrooms_escape-083e9e10092cf866)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7be073d764885c62dd9a0dd1012b9f7b4a516a8d6227ca59da83916a63d88796", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7be073d764885c62dd9a0dd1012b9f7b4a516a8d6227ca59da83916a63d88796", kill_on_drop: false }`
[INFO] [stdout] 7be073d764885c62dd9a0dd1012b9f7b4a516a8d6227ca59da83916a63d88796
