[INFO] cloning repository https://github.com/Giacom/rust-man
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Giacom/rust-man" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGiacom%2Frust-man", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGiacom%2Frust-man'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 05fda02f5cb29c0d7423b9a3208f855316092a3e
[INFO] testing Giacom/rust-man against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGiacom%2Frust-man" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Giacom/rust-man
[INFO] finished tweaking git repo https://github.com/Giacom/rust-man
[INFO] tweaked toml for git repo https://github.com/Giacom/rust-man written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Giacom/rust-man on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Giacom/rust-man 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" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded advapi32-sys v0.1.2
[INFO] [stderr]   Downloaded rand v0.3.13
[INFO] [stderr]   Downloaded sfml v0.9.3
[INFO] [stderr]   Downloaded winapi v0.2.5
[INFO] [stderr]   Downloaded libc v0.2.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fae62294eee186682b12071e4b5645326b8488859b061f5123bd67c336c150f7
[INFO] running `Command { std: "docker" "start" "-a" "fae62294eee186682b12071e4b5645326b8488859b061f5123bd67c336c150f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fae62294eee186682b12071e4b5645326b8488859b061f5123bd67c336c150f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fae62294eee186682b12071e4b5645326b8488859b061f5123bd67c336c150f7", kill_on_drop: false }`
[INFO] [stdout] fae62294eee186682b12071e4b5645326b8488859b061f5123bd67c336c150f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 57839b93039a4e5b481321b044b3ab23038239628ecbe29dbde038d7f726e574
[INFO] running `Command { std: "docker" "start" "-a" "57839b93039a4e5b481321b044b3ab23038239628ecbe29dbde038d7f726e574", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.5
[INFO] [stderr]    Compiling libc v0.2.6
[INFO] [stderr]    Compiling advapi32-sys v0.1.2
[INFO] [stderr]    Compiling rand v0.3.13
[INFO] [stderr]    Compiling sfml v0.9.3
[INFO] [stderr]    Compiling rust-man v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/level.rs:25:71
[INFO] [stdout]    |
[INFO] [stdout] 25 |             vertex_array: VertexArray::new_init(PrimitiveType::Quads, (size.x * size.y * 4)).unwrap(),
[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] 25 -             vertex_array: VertexArray::new_init(PrimitiveType::Quads, (size.x * size.y * 4)).unwrap(),
[INFO] [stdout] 25 +             vertex_array: VertexArray::new_init(PrimitiveType::Quads, size.x * size.y * 4 ).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sprite`
[INFO] [stdout]  --> src/player.rs:2:64
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sfml::graphics::{RenderTarget, VertexArray, PrimitiveType, Sprite, RenderStates, FloatRect};
[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 block return value
[INFO] [stdout]   --> src/input.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         (*self.held_keys.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout]    |         ^                                                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -         (*self.held_keys.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout] 47 +         *self.held_keys.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/input.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         (*self.keys_down.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout]    |         ^                                                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         (*self.keys_down.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout] 51 +         *self.keys_down.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/input.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         (*self.keys_up.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout]    |         ^                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 56 -         (*self.keys_up.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout] 56 +         *self.keys_up.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FloatRect`
[INFO] [stdout]  --> src/animation_sprite.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sfml::graphics::{Sprite, IntRect, FloatRect};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnimationSprite`
[INFO] [stdout]   --> src/main.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | use animation_sprite::{AnimationSprite};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/main.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut window = match RenderWindow::new(VideoMode::new_init(((level.size.x as u32) * GAME_SIZE),
[INFO] [stdout]    |                                                                  ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -     let mut window = match RenderWindow::new(VideoMode::new_init(((level.size.x as u32) * GAME_SIZE),
[INFO] [stdout] 39 +     let mut window = match RenderWindow::new(VideoMode::new_init((level.size.x as u32) * GAME_SIZE ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/main.rs:40:66
[INFO] [stdout]    |
[INFO] [stdout] 40 | ...                   ((level.size.y as u32) * GAME_SIZE), 32),
[INFO] [stdout]    |                       ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 40 -                                                                  ((level.size.y as u32) * GAME_SIZE), 32),
[INFO] [stdout] 40 +                                                                  (level.size.y as u32) * GAME_SIZE , 32),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_time` is never read
[INFO] [stdout]  --> src/game_time.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GameTime {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub start_time: units::MS,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_animation` is never used
[INFO] [stdout]   --> src/animation_sprite.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'s> AnimationSprite<'s> {
[INFO] [stdout]    | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn reset_animation(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/level.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_tile(&self, x: i32, y: i32) -> &LevelObject {
[INFO] [stdout]    |                     ^^^^^                     ^^^^^^^^^^^^
[INFO] [stdout]    |                     |                         ||
[INFO] [stdout]    |                     |                         |the same lifetime is hidden here
[INFO] [stdout]    |                     |                         the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_tile(&self, x: i32, y: i32) -> &LevelObject<'_> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sprite_sheet.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn generate_background_sprite(&self, level_type: &LevelType) -> Sprite {
[INFO] [stdout]    |                                       ^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn generate_background_sprite(&self, level_type: &LevelType) -> Sprite<'_> {
[INFO] [stdout]    |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sprite_sheet.rs:69:40
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn generate_foreground_sprites(&self, sprite_type: &SpriteType) -> AnimationSprite {
[INFO] [stdout]    |                                        ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn generate_foreground_sprites(&self, sprite_type: &SpriteType) -> AnimationSprite<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/sprite_sheet.rs:76:61
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &None => panic!("Unable to retrieve SpriteType::{:?}.")
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &None => panic!("Unable to retrieve SpriteType::{:?}.", ...)
[INFO] [stdout]    |                                                                   +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &None => panic!("{}", "Unable to retrieve SpriteType::{:?}.")
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.33s
[INFO] running `Command { std: "docker" "inspect" "57839b93039a4e5b481321b044b3ab23038239628ecbe29dbde038d7f726e574", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57839b93039a4e5b481321b044b3ab23038239628ecbe29dbde038d7f726e574", kill_on_drop: false }`
[INFO] [stdout] 57839b93039a4e5b481321b044b3ab23038239628ecbe29dbde038d7f726e574
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b63651174874c532046e0b252d73d27be2c3322132edfc80d0758c157541695
[INFO] running `Command { std: "docker" "start" "-a" "5b63651174874c532046e0b252d73d27be2c3322132edfc80d0758c157541695", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling rust-man v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/level.rs:25:71
[INFO] [stdout]    |
[INFO] [stdout] 25 |             vertex_array: VertexArray::new_init(PrimitiveType::Quads, (size.x * size.y * 4)).unwrap(),
[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] 25 -             vertex_array: VertexArray::new_init(PrimitiveType::Quads, (size.x * size.y * 4)).unwrap(),
[INFO] [stdout] 25 +             vertex_array: VertexArray::new_init(PrimitiveType::Quads, size.x * size.y * 4 ).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sprite`
[INFO] [stdout]  --> src/player.rs:2:64
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sfml::graphics::{RenderTarget, VertexArray, PrimitiveType, Sprite, RenderStates, FloatRect};
[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 block return value
[INFO] [stdout]   --> src/input.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         (*self.held_keys.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout]    |         ^                                                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -         (*self.held_keys.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout] 47 +         *self.held_keys.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/input.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         (*self.keys_down.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout]    |         ^                                                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         (*self.keys_down.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout] 51 +         *self.keys_down.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/input.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         (*self.keys_up.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout]    |         ^                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 56 -         (*self.keys_up.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stdout] 56 +         *self.keys_up.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FloatRect`
[INFO] [stdout]  --> src/animation_sprite.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sfml::graphics::{Sprite, IntRect, FloatRect};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AnimationSprite`
[INFO] [stdout]   --> src/main.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | use animation_sprite::{AnimationSprite};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/main.rs:39:66
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut window = match RenderWindow::new(VideoMode::new_init(((level.size.x as u32) * GAME_SIZE),
[INFO] [stdout]    |                                                                  ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -     let mut window = match RenderWindow::new(VideoMode::new_init(((level.size.x as u32) * GAME_SIZE),
[INFO] [stdout] 39 +     let mut window = match RenderWindow::new(VideoMode::new_init((level.size.x as u32) * GAME_SIZE ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/main.rs:40:66
[INFO] [stdout]    |
[INFO] [stdout] 40 | ...                   ((level.size.y as u32) * GAME_SIZE), 32),
[INFO] [stdout]    |                       ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 40 -                                                                  ((level.size.y as u32) * GAME_SIZE), 32),
[INFO] [stdout] 40 +                                                                  (level.size.y as u32) * GAME_SIZE , 32),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_time` is never read
[INFO] [stdout]  --> src/game_time.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GameTime {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub start_time: units::MS,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_animation` is never used
[INFO] [stdout]   --> src/animation_sprite.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'s> AnimationSprite<'s> {
[INFO] [stdout]    | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn reset_animation(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/level.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_tile(&self, x: i32, y: i32) -> &LevelObject {
[INFO] [stdout]    |                     ^^^^^                     ^^^^^^^^^^^^
[INFO] [stdout]    |                     |                         ||
[INFO] [stdout]    |                     |                         |the same lifetime is hidden here
[INFO] [stdout]    |                     |                         the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn get_tile(&self, x: i32, y: i32) -> &LevelObject<'_> {
[INFO] [stdout]    |                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sprite_sheet.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn generate_background_sprite(&self, level_type: &LevelType) -> Sprite {
[INFO] [stdout]    |                                       ^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn generate_background_sprite(&self, level_type: &LevelType) -> Sprite<'_> {
[INFO] [stdout]    |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sprite_sheet.rs:69:40
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn generate_foreground_sprites(&self, sprite_type: &SpriteType) -> AnimationSprite {
[INFO] [stdout]    |                                        ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn generate_foreground_sprites(&self, sprite_type: &SpriteType) -> AnimationSprite<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/sprite_sheet.rs:76:61
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &None => panic!("Unable to retrieve SpriteType::{:?}.")
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &None => panic!("Unable to retrieve SpriteType::{:?}.", ...)
[INFO] [stdout]    |                                                                   +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &None => panic!("{}", "Unable to retrieve SpriteType::{:?}.")
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] running `Command { std: "docker" "inspect" "5b63651174874c532046e0b252d73d27be2c3322132edfc80d0758c157541695", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b63651174874c532046e0b252d73d27be2c3322132edfc80d0758c157541695", kill_on_drop: false }`
[INFO] [stdout] 5b63651174874c532046e0b252d73d27be2c3322132edfc80d0758c157541695
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3f8f369a957996780da38b7139796b06c8ab841e5bec4ed917fcc838f2ca8257
[INFO] running `Command { std: "docker" "start" "-a" "3f8f369a957996780da38b7139796b06c8ab841e5bec4ed917fcc838f2ca8257", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/level.rs:25:71
[INFO] [stderr]    |
[INFO] [stderr] 25 |             vertex_array: VertexArray::new_init(PrimitiveType::Quads, (size.x * size.y * 4)).unwrap(),
[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] 25 -             vertex_array: VertexArray::new_init(PrimitiveType::Quads, (size.x * size.y * 4)).unwrap(),
[INFO] [stderr] 25 +             vertex_array: VertexArray::new_init(PrimitiveType::Quads, size.x * size.y * 4 ).unwrap(),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sprite`
[INFO] [stderr]  --> src/player.rs:2:64
[INFO] [stderr]   |
[INFO] [stderr] 2 | use sfml::graphics::{RenderTarget, VertexArray, PrimitiveType, Sprite, RenderStates, FloatRect};
[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 block return value
[INFO] [stderr]   --> src/input.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |         (*self.held_keys.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stderr]    |         ^                                                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 47 -         (*self.held_keys.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stderr] 47 +         *self.held_keys.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/input.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |         (*self.keys_down.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stderr]    |         ^                                                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 51 -         (*self.keys_down.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stderr] 51 +         *self.keys_down.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/input.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 56 |         (*self.keys_up.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stderr]    |         ^                                                       ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 56 -         (*self.keys_up.get(&HKey(key)).unwrap_or(&false) == true)
[INFO] [stderr] 56 +         *self.keys_up.get(&HKey(key)).unwrap_or(&false) == true 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FloatRect`
[INFO] [stderr]  --> src/animation_sprite.rs:3:39
[INFO] [stderr]   |
[INFO] [stderr] 3 | use sfml::graphics::{Sprite, IntRect, FloatRect};
[INFO] [stderr]   |                                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AnimationSprite`
[INFO] [stderr]   --> src/main.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 | use animation_sprite::{AnimationSprite};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/main.rs:39:66
[INFO] [stderr]    |
[INFO] [stderr] 39 |     let mut window = match RenderWindow::new(VideoMode::new_init(((level.size.x as u32) * GAME_SIZE),
[INFO] [stderr]    |                                                                  ^                                 ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 39 -     let mut window = match RenderWindow::new(VideoMode::new_init(((level.size.x as u32) * GAME_SIZE),
[INFO] [stderr] 39 +     let mut window = match RenderWindow::new(VideoMode::new_init((level.size.x as u32) * GAME_SIZE ,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/main.rs:40:66
[INFO] [stderr]    |
[INFO] [stderr] 40 | ...                   ((level.size.y as u32) * GAME_SIZE), 32),
[INFO] [stderr]    |                       ^                                 ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 40 -                                                                  ((level.size.y as u32) * GAME_SIZE), 32),
[INFO] [stderr] 40 +                                                                  (level.size.y as u32) * GAME_SIZE , 32),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `start_time` is never read
[INFO] [stderr]  --> src/game_time.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct GameTime {
[INFO] [stderr]   |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 7 |     pub start_time: units::MS,
[INFO] [stderr]   |         ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `reset_animation` is never used
[INFO] [stderr]   --> src/animation_sprite.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl<'s> AnimationSprite<'s> {
[INFO] [stderr]    | ---------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn reset_animation(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/level.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn get_tile(&self, x: i32, y: i32) -> &LevelObject {
[INFO] [stderr]    |                     ^^^^^                     ^^^^^^^^^^^^
[INFO] [stderr]    |                     |                         ||
[INFO] [stderr]    |                     |                         |the same lifetime is hidden here
[INFO] [stderr]    |                     |                         the same lifetime is elided here
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn get_tile(&self, x: i32, y: i32) -> &LevelObject<'_> {
[INFO] [stderr]    |                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sprite_sheet.rs:58:39
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn generate_background_sprite(&self, level_type: &LevelType) -> Sprite {
[INFO] [stderr]    |                                       ^^^^^ the lifetime is elided here ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn generate_background_sprite(&self, level_type: &LevelType) -> Sprite<'_> {
[INFO] [stderr]    |                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sprite_sheet.rs:69:40
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn generate_foreground_sprites(&self, sprite_type: &SpriteType) -> AnimationSprite {
[INFO] [stderr]    |                                        ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn generate_foreground_sprites(&self, sprite_type: &SpriteType) -> AnimationSprite<'_> {
[INFO] [stderr]    |                                                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message contains an unused formatting placeholder
[INFO] [stderr]   --> src/sprite_sheet.rs:76:61
[INFO] [stderr]    |
[INFO] [stderr] 76 |             &None => panic!("Unable to retrieve SpriteType::{:?}.")
[INFO] [stderr]    |                                                             ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add the missing argument
[INFO] [stderr]    |
[INFO] [stderr] 76 |             &None => panic!("Unable to retrieve SpriteType::{:?}.", ...)
[INFO] [stderr]    |                                                                   +++++
[INFO] [stderr] help: or add a "{}" format string to use the message literally
[INFO] [stderr]    |
[INFO] [stderr] 76 |             &None => panic!("{}", "Unable to retrieve SpriteType::{:?}.")
[INFO] [stderr]    |                             +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-man` (bin "rust-man" test) generated 15 warnings (run `cargo fix --bin "rust-man" -p rust-man --tests` to apply 13 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_man-1fb55a37102db2c8)
[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" "3f8f369a957996780da38b7139796b06c8ab841e5bec4ed917fcc838f2ca8257", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f8f369a957996780da38b7139796b06c8ab841e5bec4ed917fcc838f2ca8257", kill_on_drop: false }`
[INFO] [stdout] 3f8f369a957996780da38b7139796b06c8ab841e5bec4ed917fcc838f2ca8257
