[INFO] cloning repository https://github.com/wartyz/rustykong
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wartyz/rustykong" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwartyz%2Frustykong", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwartyz%2Frustykong'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cfe5ea33a6f14c425d21a11644c7b3b02136704e
[INFO] checking wartyz/rustykong against try#48c9d93cf65d550d124c40108859fd993778c157 for pr-153692-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwartyz%2Frustykong" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wartyz/rustykong
[INFO] finished tweaking git repo https://github.com/wartyz/rustykong
[INFO] tweaked toml for git repo https://github.com/wartyz/rustykong written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wartyz/rustykong on toolchain 48c9d93cf65d550d124c40108859fd993778c157
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+48c9d93cf65d550d124c40108859fd993778c157" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wartyz/rustykong 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" "+48c9d93cf65d550d124c40108859fd993778c157" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+48c9d93cf65d550d124c40108859fd993778c157" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 358e55bafada447fa3a4879e9a1cee19cf1a99f0c0cdf049921c535a3e75dea0
[INFO] running `Command { std: "docker" "start" "-a" "358e55bafada447fa3a4879e9a1cee19cf1a99f0c0cdf049921c535a3e75dea0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "358e55bafada447fa3a4879e9a1cee19cf1a99f0c0cdf049921c535a3e75dea0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "358e55bafada447fa3a4879e9a1cee19cf1a99f0c0cdf049921c535a3e75dea0", kill_on_drop: false }`
[INFO] [stdout] 358e55bafada447fa3a4879e9a1cee19cf1a99f0c0cdf049921c535a3e75dea0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+48c9d93cf65d550d124c40108859fd993778c157" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 815d4c84a41085e84ee728f08934f0d6a06c1d32ecf8d7d932a2ac0e6b3a03d5
[INFO] running `Command { std: "docker" "start" "-a" "815d4c84a41085e84ee728f08934f0d6a06c1d32ecf8d7d932a2ac0e6b3a03d5", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking libc v0.2.40
[INFO] [stderr]     Checking num-traits v0.2.2
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]     Checking c_vec v1.3.2
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking lazy_static v1.0.0
[INFO] [stderr]    Compiling sdl2-sys v0.31.0
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking num-integer v0.1.36
[INFO] [stderr]     Checking num-iter v0.1.35
[INFO] [stderr]     Checking chrono v0.4.6
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking sdl2 v0.31.0
[INFO] [stderr]     Checking simple_logger v1.0.1
[INFO] [stderr]     Checking rusty-kong v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::common::F_SPR_ENABLED`
[INFO] [stdout]  --> src/rusty_kong/video/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use self::common::F_SPR_ENABLED;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::palettes::get_palette`
[INFO] [stdout]  --> src/rusty_kong/video/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::palettes::get_palette;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::sprites::get_sprite_bitmap`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use self::sprites::get_sprite_bitmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::tiles::get_tile_bitmap`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use self::tiles::get_tile_bitmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::common::F_SPR_ENABLED`
[INFO] [stdout]  --> src/rusty_kong/video/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use self::common::F_SPR_ENABLED;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::palettes::get_palette`
[INFO] [stdout]  --> src/rusty_kong/video/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::palettes::get_palette;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/rusty_kong/video/palettes.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / lazy_static! {
[INFO] [stdout]  19 | |     static ref PAL_CNTL:Vec<Palette> = vec![
[INFO] [stdout]  20 | |         // #0
[INFO] [stdout]  21 | |         Palette {
[INFO] [stdout] ...   |
[INFO] [stdout] 596 | |     ];
[INFO] [stdout] 597 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::sprites::get_sprite_bitmap`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use self::sprites::get_sprite_bitmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::tiles::get_tile_bitmap`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use self::tiles::get_tile_bitmap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rusty_kong/state_machine/mod.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |     commands: RefCell<Vec<Box<GameCommand>>>
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     commands: RefCell<Vec<Box<dyn GameCommand>>>
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/rusty_kong/video/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/rusty_kong/video/palettes.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / lazy_static! {
[INFO] [stdout]  19 | |     static ref PAL_CNTL:Vec<Palette> = vec![
[INFO] [stdout]  20 | |         // #0
[INFO] [stdout]  21 | |         Palette {
[INFO] [stdout] ...   |
[INFO] [stdout] 596 | |     ];
[INFO] [stdout] 597 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rusty_kong/state_machine/mod.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |     commands: RefCell<Vec<Box<GameCommand>>>
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     commands: RefCell<Vec<Box<dyn GameCommand>>>
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/boot.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn boot_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/rusty_kong/state_machine/boot.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn boot_update(context: &GameStateContext) {}
[INFO] [stdout]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contex`
[INFO] [stdout]  --> src/rusty_kong/state_machine/attract.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn attract_enter(contex: &GameStateContext) {}
[INFO] [stdout]   |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_contex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contex`
[INFO] [stdout]  --> src/rusty_kong/state_machine/attract.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn attract_leave(contex: &GameStateContext) {}
[INFO] [stdout]   |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_contex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contex`
[INFO] [stdout]  --> src/rusty_kong/state_machine/attract.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn attract_update(contex: &GameStateContext) {}
[INFO] [stdout]   |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_contex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/rusty_kong/state_machine/long_introduction.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn long_intro_leave(context: &GameStateContext) {}
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/rusty_kong/state_machine/long_introduction.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn long_intro_update(context: &GameStateContext) {}
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/how_high.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn how_high_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/how_high.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn how_high_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/how_high.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn how_high_update(context: &GameStateContext) {}
[INFO] [stdout]   |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/game_play.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn game_play_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/game_play.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn game_play_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/game_play.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn game_play_update(context: &GameStateContext) {}
[INFO] [stdout]   |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_dies.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn player_dies_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_dies.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn player_dies_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_dies.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn player_dies_update(context: &GameStateContext) {}
[INFO] [stdout]   |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_wins.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn player_wins_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_wins.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn player_wins_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_wins.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn player_wins_update(context: &GameStateContext) {}
[INFO] [stdout]   |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/kong_retreats.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn kong_retreats_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/kong_retreats.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn kong_retreats_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/kong_retreats.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn kong_retreats_update(context: &GameStateContext) {}
[INFO] [stdout]   |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:27:51
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]    --> src/rusty_kong/state_machine/mod.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rusty_kong/video/common.rs:379:25
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     let mut block = &mut self.table[index];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/boot.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn boot_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/rusty_kong/state_machine/boot.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn boot_update(context: &GameStateContext) {}
[INFO] [stdout]    |                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contex`
[INFO] [stdout]  --> src/rusty_kong/state_machine/attract.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn attract_enter(contex: &GameStateContext) {}
[INFO] [stdout]   |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_contex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contex`
[INFO] [stdout]  --> src/rusty_kong/state_machine/attract.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn attract_leave(contex: &GameStateContext) {}
[INFO] [stdout]   |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_contex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `contex`
[INFO] [stdout]  --> src/rusty_kong/state_machine/attract.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn attract_update(contex: &GameStateContext) {}
[INFO] [stdout]   |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_contex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/rusty_kong/state_machine/long_introduction.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn long_intro_leave(context: &GameStateContext) {}
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/rusty_kong/state_machine/long_introduction.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn long_intro_update(context: &GameStateContext) {}
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/how_high.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn how_high_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/how_high.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn how_high_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/how_high.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn how_high_update(context: &GameStateContext) {}
[INFO] [stdout]   |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/game_play.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn game_play_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/game_play.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn game_play_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/game_play.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn game_play_update(context: &GameStateContext) {}
[INFO] [stdout]   |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_dies.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn player_dies_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_dies.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn player_dies_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_dies.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn player_dies_update(context: &GameStateContext) {}
[INFO] [stdout]   |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_wins.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn player_wins_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_wins.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn player_wins_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/player_wins.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn player_wins_update(context: &GameStateContext) {}
[INFO] [stdout]   |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/kong_retreats.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn kong_retreats_enter(context: &GameStateContext) {}
[INFO] [stdout]   |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/kong_retreats.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn kong_retreats_leave(context: &GameStateContext) {}
[INFO] [stdout]   |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]  --> src/rusty_kong/state_machine/kong_retreats.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn kong_retreats_update(context: &GameStateContext) {}
[INFO] [stdout]   |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `system`
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:27:51
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]    |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]    |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sprite_control`
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         sprite_control: &mut SpriteControlTable,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sprite_control`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let timer = match anim_frame.timer {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Some(ref t) => return,
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]    --> src/rusty_kong/state_machine/mod.rs:153:23
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn execute(&self, game_state: &mut GameState, system: &mut SystemInterfaces) {
[INFO] [stdout]     |                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/rusty_kong/video/common.rs:379:25
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     let mut block = &mut self.table[index];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `player` are never read
[INFO] [stdout]    --> src/rusty_kong/state_machine/mod.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct GameState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 134 |     level: Level,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 135 |     player: JumpMan,
[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 `SetBackgroundGameCommand` is never constructed
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SetBackgroundGameCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl SetBackgroundGameCommand {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(tile_map: Option<TileMaps>) -> SetBackgroundGameCommand {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_SPR_COLLIDED` is never used
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const F_SPR_COLLIDED: u8 = 0b00000010;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sprite_control`
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         sprite_control: &mut SpriteControlTable,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sprite_control`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let timer = match anim_frame.timer {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:70:18
[INFO] [stdout]    |
[INFO] [stdout] 70 |             Some(ref t) => return,
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Level1` is never constructed
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum TileMaps {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 43 |     LongIntroduction,
[INFO] [stdout] 44 |     Level1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TileMaps` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TileMap` is never constructed
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct TileMap {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_data1` and `user_data2` are never read
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct SpriteControlBlock {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     user_data1: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 77 |     user_data2: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpriteControlBlock` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rusty_kong/video/common.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl<'a> SpriteControlBlock {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn tile(self: &mut SpriteControlBlock, number: u16) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn is_collided(self: &mut SpriteControlBlock) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn enable(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn collided(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn palette(self: &mut SpriteControlBlock, number: u8) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_position(self: &SpriteControlBlock) -> (u16, u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn position(self: &mut SpriteControlBlock, x: u16, y: u16) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn vertical_flip(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn horizontal_flip(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_data1` and `user_data2` are never read
[INFO] [stdout]    --> src/rusty_kong/video/common.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub struct BackgroundControlBlock {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 284 |     user_data1: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 285 |     user_data2: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackgroundControlBlock` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_palette` is never used
[INFO] [stdout]   --> src/rusty_kong/video/palettes.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_palette(number: u8) -> &'static Palette {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_NONE` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const F_ACTOR_NONE: u8 = 0b00000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_ENABLED` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const F_ACTOR_ENABLED: u8 = 0b00000001;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_COLLIDED` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const F_ACTOR_COLLIDED: u8 = 0b00000010;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_HFLIP` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const F_ACTOR_HFLIP: u8 = 0b00000100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_VFLIP` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const F_ACTOR_VFLIP: u8 = 0b00001000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tile`, `flags`, `palette`, `x_offset`, and `y_offset` are never read
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct AnimationFrameSprite {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 21 |     tile: u16,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     palette: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     x_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     y_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationFrameSprite` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sprites` is never read
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AnimationFrame {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 29 |     duration: u32,
[INFO] [stdout] 30 |     sprites: Vec<AnimationFrameSprite>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `reset` are never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Animation {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 42 |     pub fn new(frames: Vec<AnimationFrame>) -> Animation {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `y`, `x`, and `flags` are never read
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Actor {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 86 |     y: u16,
[INFO] [stdout]    |     ^
[INFO] [stdout] 87 |     x: u16,
[INFO] [stdout]    |     ^
[INFO] [stdout] 88 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `animation`, and `position` are never used
[INFO] [stdout]    --> src/rusty_kong/video/actor.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Actor {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  94 |     pub fn new(x: u16, y: u16, flags: u8) -> Actor {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn animation(&mut self, anim: Animation) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn position(&mut self, x: u16, y: u16) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `player` are never read
[INFO] [stdout]    --> src/rusty_kong/state_machine/mod.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct GameState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 134 |     level: Level,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 135 |     player: JumpMan,
[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 `SetBackgroundGameCommand` is never constructed
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct SetBackgroundGameCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rusty_kong/state_machine/commands.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl SetBackgroundGameCommand {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(tile_map: Option<TileMaps>) -> SetBackgroundGameCommand {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_SPR_COLLIDED` is never used
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const F_SPR_COLLIDED: u8 = 0b00000010;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Level1` is never constructed
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum TileMaps {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 43 |     LongIntroduction,
[INFO] [stdout] 44 |     Level1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TileMaps` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TileMap` is never constructed
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct TileMap {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_data1` and `user_data2` are never read
[INFO] [stdout]   --> src/rusty_kong/video/common.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct SpriteControlBlock {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     user_data1: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 77 |     user_data2: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpriteControlBlock` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rusty_kong/video/common.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl<'a> SpriteControlBlock {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn tile(self: &mut SpriteControlBlock, number: u16) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn is_collided(self: &mut SpriteControlBlock) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn enable(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn collided(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn palette(self: &mut SpriteControlBlock, number: u8) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_position(self: &SpriteControlBlock) -> (u16, u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn position(self: &mut SpriteControlBlock, x: u16, y: u16) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn vertical_flip(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn horizontal_flip(self: &mut SpriteControlBlock, flag: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_data1` and `user_data2` are never read
[INFO] [stdout]    --> src/rusty_kong/video/common.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub struct BackgroundControlBlock {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 284 |     user_data1: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 285 |     user_data2: u32,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BackgroundControlBlock` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_palette` is never used
[INFO] [stdout]   --> src/rusty_kong/video/palettes.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_palette(number: u8) -> &'static Palette {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_NONE` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const F_ACTOR_NONE: u8 = 0b00000000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_ENABLED` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const F_ACTOR_ENABLED: u8 = 0b00000001;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_COLLIDED` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const F_ACTOR_COLLIDED: u8 = 0b00000010;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_HFLIP` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const F_ACTOR_HFLIP: u8 = 0b00000100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_ACTOR_VFLIP` is never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const F_ACTOR_VFLIP: u8 = 0b00001000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tile`, `flags`, `palette`, `x_offset`, and `y_offset` are never read
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct AnimationFrameSprite {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 21 |     tile: u16,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 22 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     palette: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     x_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 25 |     y_offset: u16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationFrameSprite` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sprites` is never read
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct AnimationFrame {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 29 |     duration: u32,
[INFO] [stdout] 30 |     sprites: Vec<AnimationFrameSprite>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `reset` are never used
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Animation {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 42 |     pub fn new(frames: Vec<AnimationFrame>) -> Animation {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `y`, `x`, and `flags` are never read
[INFO] [stdout]   --> src/rusty_kong/video/actor.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Actor {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 86 |     y: u16,
[INFO] [stdout]    |     ^
[INFO] [stdout] 87 |     x: u16,
[INFO] [stdout]    |     ^
[INFO] [stdout] 88 |     flags: u8,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `animation`, and `position` are never used
[INFO] [stdout]    --> src/rusty_kong/video/actor.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl Actor {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  94 |     pub fn new(x: u16, y: u16, flags: u8) -> Actor {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn animation(&mut self, anim: Animation) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn position(&mut self, x: u16, y: u16) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.89s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "815d4c84a41085e84ee728f08934f0d6a06c1d32ecf8d7d932a2ac0e6b3a03d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "815d4c84a41085e84ee728f08934f0d6a06c1d32ecf8d7d932a2ac0e6b3a03d5", kill_on_drop: false }`
[INFO] [stdout] 815d4c84a41085e84ee728f08934f0d6a06c1d32ecf8d7d932a2ac0e6b3a03d5
