[INFO] cloning repository https://github.com/Elekrisk/fg-sdl2 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Elekrisk/fg-sdl2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElekrisk%2Ffg-sdl2", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElekrisk%2Ffg-sdl2'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0cf3ae388557c75442db79671b417b3e3d390b4f [INFO] checking Elekrisk/fg-sdl2 against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElekrisk%2Ffg-sdl2" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Elekrisk/fg-sdl2 on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Elekrisk/fg-sdl2 [INFO] finished tweaking git repo https://github.com/Elekrisk/fg-sdl2 [INFO] tweaked toml for git repo https://github.com/Elekrisk/fg-sdl2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Elekrisk/fg-sdl2 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded varinteger v1.0.6 [INFO] [stderr] Downloaded serde_derive v1.0.168 [INFO] [stderr] Downloaded bitfield-rle v0.2.0 [INFO] [stderr] Downloaded pin-project-internal v1.1.2 [INFO] [stderr] Downloaded bytemuck_derive v1.4.1 [INFO] [stderr] Downloaded serde v1.0.168 [INFO] [stderr] Downloaded pin-project v1.1.2 [INFO] [stderr] Downloaded ggrs v0.9.4 [INFO] [stderr] Downloaded exr v1.7.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3539090a5d368bd03a35b4ee09f27526b7f4982f99ead9ed1de34f5510e0b460 [INFO] running `Command { std: "docker" "start" "-a" "3539090a5d368bd03a35b4ee09f27526b7f4982f99ead9ed1de34f5510e0b460", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3539090a5d368bd03a35b4ee09f27526b7f4982f99ead9ed1de34f5510e0b460", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3539090a5d368bd03a35b4ee09f27526b7f4982f99ead9ed1de34f5510e0b460", kill_on_drop: false }` [INFO] [stdout] 3539090a5d368bd03a35b4ee09f27526b7f4982f99ead9ed1de34f5510e0b460 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f3d0e621b9f4a1bffda22d185c9bd5d3fd154da7249d927a2e15f89d8146eecf [INFO] running `Command { std: "docker" "start" "-a" "f3d0e621b9f4a1bffda22d185c9bd5d3fd154da7249d927a2e15f89d8146eecf", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Checking simd-adler32 v0.3.5 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Compiling rustix v0.38.3 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling serde v1.0.168 [INFO] [stderr] Compiling backtrace v0.3.68 [INFO] [stderr] Checking gimli v0.27.3 [INFO] [stderr] Checking crossbeam-epoch v0.9.15 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling syn v2.0.23 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling sdl2-sys v0.35.2 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Checking either v1.8.1 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking flate2 v1.0.26 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Checking varinteger v1.0.6 [INFO] [stderr] Compiling sdl2 v0.35.2 [INFO] [stderr] Checking object v0.31.1 [INFO] [stderr] Compiling serde_json v1.0.100 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking half v2.2.1 [INFO] [stderr] Checking itoa v1.0.8 [INFO] [stderr] Checking ryu v1.0.14 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking base64 v0.21.2 [INFO] [stderr] Checking png v0.17.9 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking anstream v0.3.2 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking clap_builder v4.3.11 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Checking addr2line v0.20.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling bytemuck_derive v1.4.1 [INFO] [stderr] Compiling pin-project-internal v1.1.2 [INFO] [stderr] Compiling serde_derive v1.0.168 [INFO] [stderr] Compiling clap_derive v4.3.2 [INFO] [stderr] Compiling macros v0.1.0 (/opt/rustwide/workdir/macros) [INFO] [stdout] warning: unused import: `ToTokens` [INFO] [stdout] --> macros/src/lib.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use quote::{quote, ToTokens}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathArguments`, `Token` [INFO] [stdout] --> macros/src/lib.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | use syn::{parse_macro_input, DeriveInput, Path, PathArguments, Token}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delegate` [INFO] [stdout] --> macros/src/lib.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let delegate = variant.attrs.iter().find(|attr| attr.path().get_ident().is_some_and(|x| x == "delegate")).is_some(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delegate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking failure v0.1.8 [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Checking bitfield-rle v0.2.0 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Checking pin-project v1.1.2 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking flume v0.10.14 [INFO] [stderr] Checking tiff v0.8.1 [INFO] [stderr] Checking exr v1.7.0 [INFO] [stderr] Checking clap v4.3.11 [INFO] [stderr] Checking image v0.24.6 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking ggrs v0.9.4 [INFO] [stderr] Checking fg-sdl2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::asset_manager::AssetManager` [INFO] [stdout] --> src/app_context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::asset_manager::AssetManager` [INFO] [stdout] --> src/app_context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CharacterSpecificState`, `CharacterState` [INFO] [stdout] --> src/game/character/guy.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{CharacterSpecificState, CharacterState, IdleState, State}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fixed_point::FixedPoint` [INFO] [stdout] --> src/game/camera.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{fixed_point::FixedPoint, super::fvec2::FVec2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Hash`, `IpAddr`, `hash_map::DefaultHasher`, `marker::PhantomData` [INFO] [stdout] --> src/game.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | collections::{hash_map::DefaultHasher, HashMap}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | marker::PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> src/game.rs:1116:77 [INFO] [stdout] | [INFO] [stdout] 1116 | ... cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 1116 - cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] 1116 + cell.save(frame, Some(self.state.clone()), Some(0)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr`, `SocketAddrV4`, `SocketAddr` [INFO] [stdout] --> src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | net::{Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asset_manager::AssetManager` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CharacterSpecificState`, `CharacterState` [INFO] [stdout] --> src/game/character/guy.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{CharacterSpecificState, CharacterState, IdleState, State}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SessionBuilder`, `SessionState`, `UdpNonBlockingSocket` [INFO] [stdout] --> src/main.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | use ggrs::{SessionBuilder, SessionState, UdpNonBlockingSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `keyboard::Keycode` [INFO] [stdout] --> src/main.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | use sdl2::{event::Event, keyboard::Keycode, pixels::Color}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fixed_point::FixedPoint` [INFO] [stdout] --> src/game/camera.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{fixed_point::FixedPoint, super::fvec2::FVec2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Hash`, `IpAddr`, `hash_map::DefaultHasher`, `marker::PhantomData` [INFO] [stdout] --> src/game.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | collections::{hash_map::DefaultHasher, HashMap}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | marker::PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> src/game.rs:1116:77 [INFO] [stdout] | [INFO] [stdout] 1116 | ... cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 1116 - cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] 1116 + cell.save(frame, Some(self.state.clone()), Some(0)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr`, `SocketAddrV4`, `SocketAddr` [INFO] [stdout] --> src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | net::{Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asset_manager::AssetManager` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SessionBuilder`, `SessionState`, `UdpNonBlockingSocket` [INFO] [stdout] --> src/main.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | use ggrs::{SessionBuilder, SessionState, UdpNonBlockingSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `keyboard::Keycode` [INFO] [stdout] --> src/main.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | use sdl2::{event::Event, keyboard::Keycode, pixels::Color}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/game.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/game.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character/guy.rs:55:64 [INFO] [stdout] | [INFO] [stdout] 55 | Normal::NeutralPunch => Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character/guy.rs:55:64 [INFO] [stdout] | [INFO] [stdout] 55 | Normal::NeutralPunch => Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character.rs:244:36 [INFO] [stdout] | [INFO] [stdout] 244 | Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character.rs:244:36 [INFO] [stdout] | [INFO] [stdout] 244 | Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/camera.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut q = q * self.scale; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/camera.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut q = q * self.scale; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/game.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let attacker = self.player(hit.attacker); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:284:26 [INFO] [stdout] | [INFO] [stdout] 284 | fn hitreg(&mut self, game_info: &GameInfo) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/game.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let attacker = self.player(hit.attacker); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:284:26 [INFO] [stdout] | [INFO] [stdout] 284 | fn hitreg(&mut self, game_info: &GameInfo) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/game.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 469 | let h = height as i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/game.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 469 | let h = height as i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:655:43 [INFO] [stdout] | [INFO] [stdout] 655 | pub fn render(&self, camera: &Camera, game_info: &GameInfo, canvas: &mut Canvas) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:655:43 [INFO] [stdout] | [INFO] [stdout] 655 | pub fn render(&self, camera: &Camera, game_info: &GameInfo, canvas: &mut Canvas) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:989:13 [INFO] [stdout] | [INFO] [stdout] 989 | let mut session = ggrs::SessionBuilder::::new() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:989:13 [INFO] [stdout] | [INFO] [stdout] 989 | let mut session = ggrs::SessionBuilder::::new() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1052:50 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total` [INFO] [stdout] --> src/game.rs:1052:56 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `total: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/game.rs:1052:63 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1055:49 [INFO] [stdout] | [INFO] [stdout] 1055 | ggrs::GGRSEvent::Synchronized { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1059:49 [INFO] [stdout] | [INFO] [stdout] 1059 | ggrs::GGRSEvent::Disconnected { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1063:21 [INFO] [stdout] | [INFO] [stdout] 1063 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `disconnect_timeout` [INFO] [stdout] --> src/game.rs:1064:21 [INFO] [stdout] | [INFO] [stdout] 1064 | disconnect_timeout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `disconnect_timeout: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1052:50 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1069:51 [INFO] [stdout] | [INFO] [stdout] 1069 | ggrs::GGRSEvent::NetworkResumed { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total` [INFO] [stdout] --> src/game.rs:1052:56 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `total: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1078:21 [INFO] [stdout] | [INFO] [stdout] 1078 | frame, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/game.rs:1052:63 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1055:49 [INFO] [stdout] | [INFO] [stdout] 1055 | ggrs::GGRSEvent::Synchronized { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_checksum` [INFO] [stdout] --> src/game.rs:1079:21 [INFO] [stdout] | [INFO] [stdout] 1079 | local_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `local_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1059:49 [INFO] [stdout] | [INFO] [stdout] 1059 | ggrs::GGRSEvent::Disconnected { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remote_checksum` [INFO] [stdout] --> src/game.rs:1080:21 [INFO] [stdout] | [INFO] [stdout] 1080 | remote_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `remote_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1063:21 [INFO] [stdout] | [INFO] [stdout] 1063 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1081:21 [INFO] [stdout] | [INFO] [stdout] 1081 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `disconnect_timeout` [INFO] [stdout] --> src/game.rs:1064:21 [INFO] [stdout] | [INFO] [stdout] 1064 | disconnect_timeout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `disconnect_timeout: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1118:66 [INFO] [stdout] | [INFO] [stdout] 1118 | ggrs::GGRSRequest::LoadGameState { cell, frame } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1069:51 [INFO] [stdout] | [INFO] [stdout] 1069 | ggrs::GGRSEvent::NetworkResumed { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1078:21 [INFO] [stdout] | [INFO] [stdout] 1078 | frame, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_checksum` [INFO] [stdout] --> src/game.rs:1079:21 [INFO] [stdout] | [INFO] [stdout] 1079 | local_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `local_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remote_checksum` [INFO] [stdout] --> src/game.rs:1080:21 [INFO] [stdout] | [INFO] [stdout] 1080 | remote_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `remote_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1081:21 [INFO] [stdout] | [INFO] [stdout] 1081 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1118:66 [INFO] [stdout] | [INFO] [stdout] 1118 | ggrs::GGRSRequest::LoadGameState { cell, frame } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1146:28 [INFO] [stdout] | [INFO] [stdout] 1146 | fn on_enter(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1146:28 [INFO] [stdout] | [INFO] [stdout] 1146 | fn on_enter(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1150:30 [INFO] [stdout] | [INFO] [stdout] 1150 | fn on_suspend(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1150:30 [INFO] [stdout] | [INFO] [stdout] 1150 | fn on_suspend(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1154:29 [INFO] [stdout] | [INFO] [stdout] 1154 | fn on_resume(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1154:29 [INFO] [stdout] | [INFO] [stdout] 1154 | fn on_resume(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1158:27 [INFO] [stdout] | [INFO] [stdout] 1158 | fn on_exit(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/game.rs:1162:25 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1162:52 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1166:24 [INFO] [stdout] | [INFO] [stdout] 1166 | fn tick(&mut self, ctx: &mut crate::app_context::AppContext) -> StateTransition { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1158:27 [INFO] [stdout] | [INFO] [stdout] 1158 | fn on_exit(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `canvas` [INFO] [stdout] --> src/game.rs:1170:26 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1170:55 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/gui/label.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | fn render(&self, window: super::RenderWindow) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/game.rs:1162:25 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1162:52 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1166:24 [INFO] [stdout] | [INFO] [stdout] 1166 | fn tick(&mut self, ctx: &mut crate::app_context::AppContext) -> StateTransition { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `canvas` [INFO] [stdout] --> src/game.rs:1170:26 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1170:55 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/gui/label.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | fn render(&self, window: super::RenderWindow) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_context` [INFO] [stdout] --> src/main.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | let PlayerType::Local { mapping, input } = &mut game_info.player_2 else { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `input: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | Event::ControllerDeviceAdded { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:129:50 [INFO] [stdout] | [INFO] [stdout] 129 | Event::ControllerDeviceRemoved { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fps` [INFO] [stdout] --> src/main.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let fps = 1.0 / time.as_secs_f32(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time` [INFO] [stdout] --> src/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let time = Instant::now().duration_since(now); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_context` [INFO] [stdout] --> src/main.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | let PlayerType::Local { mapping, input } = &mut game_info.player_2 else { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `input: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | Event::ControllerDeviceAdded { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:129:50 [INFO] [stdout] | [INFO] [stdout] 129 | Event::ControllerDeviceRemoved { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fps` [INFO] [stdout] --> src/main.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let fps = 1.0 / time.as_secs_f32(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time` [INFO] [stdout] --> src/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let time = Instant::now().duration_since(now); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sdl_context`, `video_subsystem`, and `game_controller_subsystem` are never read [INFO] [stdout] --> src/app_context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AppContext<'a> { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | // pub asset_manager: AssetManager, [INFO] [stdout] 8 | pub sdl_context: &'a Sdl, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub video_subsystem: &'a VideoSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub game_controller_subsystem: &'a GameControllerSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssetManager` is never constructed [INFO] [stdout] --> src/asset_manager.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AssetManager { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load`, `insert`, and `get` are never used [INFO] [stdout] --> src/asset_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AssetManager { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn load(&mut self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn insert(&mut self, path: impl AsRef, asset: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get(&self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Asset` is never used [INFO] [stdout] --> src/asset_manager.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait Asset: 'static { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Remote` is never constructed [INFO] [stdout] --> src/game.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum PlayerType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | Remote, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacker_tag` and `target_tag` are never read [INFO] [stdout] --> src/game.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 542 | pub struct Hit { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 545 | attacker_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 546 | target_tag: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_facing` is never used [INFO] [stdout] --> src/game.rs:595:8 [INFO] [stdout] | [INFO] [stdout] 594 | impl Player { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 595 | fn set_facing(&mut self, new_facing: Facing) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLLBACK_WINDOW` is never used [INFO] [stdout] --> src/game.rs:931:11 [INFO] [stdout] | [INFO] [stdout] 931 | pub const ROLLBACK_WINDOW: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `startup`, `active_frames`, and `recovery` are never read [INFO] [stdout] --> src/game/animation.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Animation { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub startup: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | /// also includes gaps in active frames [INFO] [stdout] 21 | pub active_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub recovery: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_motion` is never read [INFO] [stdout] --> src/game/animation.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct FrameData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 177 | pub root_motion: Vec2, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct HitboxInfo { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 182 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct HitboxPosition { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 188 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/character.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct CharacterProto { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 18 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_down`, `is_up`, and `is_forward` are never used [INFO] [stdout] --> src/game/character.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 350 | impl CharacterDirection { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn is_down(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn is_up(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn is_forward(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/movelist.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Move { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 35 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `any`, `airborne`, `blockstun`, `hitstun`, and `specific` are never used [INFO] [stdout] --> src/game/movelist.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl StateMatcher { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn any() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn airborne() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn blockstun() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn hitstun() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn specific(state: CharacterState) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `StateChange` is never constructed [INFO] [stdout] --> src/game/movelist.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum Effect { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 124 | StateChange(CharacterState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Effect` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `release_controller` is never used [INFO] [stdout] --> src/game/input.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl InputMapping { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn release_controller(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_released` is never used [INFO] [stdout] --> src/game/input.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 105 | impl BoxedInput { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn is_released(&self, action: Action) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_frame_basis` and `update_allowed_diff` are never used [INFO] [stdout] --> src/game/input.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | impl<'a> InputIter<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 218 | pub fn update_frame_basis(&mut self, new_basis: Frame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn update_allowed_diff(&mut self, allowed_diff: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `render` is never used [INFO] [stdout] --> src/gui.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Widget { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 9 | fn render(&self, window: RenderWindow); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offset` and `size` are never read [INFO] [stdout] --> src/gui.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct RenderWindow<'a> { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 13 | canvas: &'a mut Canvas, [INFO] [stdout] 14 | offset: FVec2, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | size: FVec2, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `subwindow` are never used [INFO] [stdout] --> src/gui.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> RenderWindow<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 20 | fn new(canvas: &'a mut Canvas, size: FVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn subwindow(&mut self, offset: FVec2, size: FVec2) -> RenderWindow { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `text` is never read [INFO] [stdout] --> src/gui/label.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Label { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 5 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StateStack` is never constructed [INFO] [stdout] --> src/state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StateStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/state.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StateStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(initial_state: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn push(&mut self, mut state: Box, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn pop(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn tick(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Push`, `Pop`, and `PopPush` are never constructed [INFO] [stdout] --> src/state.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum StateTransition { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 69 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 70 | Push(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Pop(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | PopPush(usize, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait State { [INFO] [stdout] | ----- methods in this trait [INFO] [stdout] 76 | fn on_enter(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 77 | fn on_suspend(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 78 | fn on_resume(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 79 | fn on_exit(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | [INFO] [stdout] 81 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | fn tick(&mut self, ctx: &mut AppContext) -> StateTransition; [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Updater` is never constructed [INFO] [stdout] --> src/updater.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Updater { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/updater.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Updater { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILENAME` is never used [INFO] [stdout] --> src/updater.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const FILENAME: &'static str = "linux_debug_x86_64.zip"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `generate`, `load`, and `load_or_generate` are never used [INFO] [stdout] --> src/updater.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 31 | fn generate() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn load() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn load_or_generate() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sdl_context`, `video_subsystem`, and `game_controller_subsystem` are never read [INFO] [stdout] --> src/app_context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AppContext<'a> { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | // pub asset_manager: AssetManager, [INFO] [stdout] 8 | pub sdl_context: &'a Sdl, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub video_subsystem: &'a VideoSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub game_controller_subsystem: &'a GameControllerSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssetManager` is never constructed [INFO] [stdout] --> src/asset_manager.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AssetManager { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load`, `insert`, and `get` are never used [INFO] [stdout] --> src/asset_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AssetManager { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn load(&mut self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn insert(&mut self, path: impl AsRef, asset: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get(&self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Asset` is never used [INFO] [stdout] --> src/asset_manager.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait Asset: 'static { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Remote` is never constructed [INFO] [stdout] --> src/game.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum PlayerType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | Remote, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacker_tag` and `target_tag` are never read [INFO] [stdout] --> src/game.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 542 | pub struct Hit { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 545 | attacker_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 546 | target_tag: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_facing` is never used [INFO] [stdout] --> src/game.rs:595:8 [INFO] [stdout] | [INFO] [stdout] 594 | impl Player { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 595 | fn set_facing(&mut self, new_facing: Facing) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLLBACK_WINDOW` is never used [INFO] [stdout] --> src/game.rs:931:11 [INFO] [stdout] | [INFO] [stdout] 931 | pub const ROLLBACK_WINDOW: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `startup`, `active_frames`, and `recovery` are never read [INFO] [stdout] --> src/game/animation.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Animation { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub startup: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | /// also includes gaps in active frames [INFO] [stdout] 21 | pub active_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub recovery: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_motion` is never read [INFO] [stdout] --> src/game/animation.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct FrameData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 177 | pub root_motion: Vec2, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct HitboxInfo { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 182 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct HitboxPosition { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 188 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/character.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct CharacterProto { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 18 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_down`, `is_up`, and `is_forward` are never used [INFO] [stdout] --> src/game/character.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 350 | impl CharacterDirection { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn is_down(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn is_up(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn is_forward(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/movelist.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Move { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 35 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `any`, `airborne`, `blockstun`, `hitstun`, and `specific` are never used [INFO] [stdout] --> src/game/movelist.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl StateMatcher { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn any() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn airborne() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn blockstun() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn hitstun() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn specific(state: CharacterState) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `StateChange` is never constructed [INFO] [stdout] --> src/game/movelist.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum Effect { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 124 | StateChange(CharacterState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Effect` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `release_controller` is never used [INFO] [stdout] --> src/game/input.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl InputMapping { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn release_controller(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_released` is never used [INFO] [stdout] --> src/game/input.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 105 | impl BoxedInput { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn is_released(&self, action: Action) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_frame_basis` and `update_allowed_diff` are never used [INFO] [stdout] --> src/game/input.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | impl<'a> InputIter<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 218 | pub fn update_frame_basis(&mut self, new_basis: Frame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn update_allowed_diff(&mut self, allowed_diff: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `render` is never used [INFO] [stdout] --> src/gui.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Widget { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 9 | fn render(&self, window: RenderWindow); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offset` and `size` are never read [INFO] [stdout] --> src/gui.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct RenderWindow<'a> { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 13 | canvas: &'a mut Canvas, [INFO] [stdout] 14 | offset: FVec2, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | size: FVec2, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `subwindow` are never used [INFO] [stdout] --> src/gui.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> RenderWindow<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 20 | fn new(canvas: &'a mut Canvas, size: FVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn subwindow(&mut self, offset: FVec2, size: FVec2) -> RenderWindow { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `text` is never read [INFO] [stdout] --> src/gui/label.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Label { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 5 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StateStack` is never constructed [INFO] [stdout] --> src/state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StateStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/state.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StateStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(initial_state: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn push(&mut self, mut state: Box, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn pop(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn tick(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Push`, `Pop`, and `PopPush` are never constructed [INFO] [stdout] --> src/state.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum StateTransition { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 69 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 70 | Push(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Pop(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | PopPush(usize, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait State { [INFO] [stdout] | ----- methods in this trait [INFO] [stdout] 76 | fn on_enter(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 77 | fn on_suspend(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 78 | fn on_resume(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 79 | fn on_exit(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | [INFO] [stdout] 81 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | fn tick(&mut self, ctx: &mut AppContext) -> StateTransition; [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Updater` is never constructed [INFO] [stdout] --> src/updater.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Updater { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/updater.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Updater { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILENAME` is never used [INFO] [stdout] --> src/updater.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const FILENAME: &'static str = "linux_debug_x86_64.zip"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `generate`, `load`, and `load_or_generate` are never used [INFO] [stdout] --> src/updater.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 31 | fn generate() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn load() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn load_or_generate() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 96 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 96 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.33s [INFO] running `Command { std: "docker" "inspect" "f3d0e621b9f4a1bffda22d185c9bd5d3fd154da7249d927a2e15f89d8146eecf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3d0e621b9f4a1bffda22d185c9bd5d3fd154da7249d927a2e15f89d8146eecf", kill_on_drop: false }` [INFO] [stdout] f3d0e621b9f4a1bffda22d185c9bd5d3fd154da7249d927a2e15f89d8146eecf [INFO] checking Elekrisk/fg-sdl2 against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElekrisk%2Ffg-sdl2" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Elekrisk/fg-sdl2 on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Elekrisk/fg-sdl2 [INFO] finished tweaking git repo https://github.com/Elekrisk/fg-sdl2 [INFO] tweaked toml for git repo https://github.com/Elekrisk/fg-sdl2 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Elekrisk/fg-sdl2 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3df5cb4088b11b9d5bae99af4a7bc4cf8f2e5839731feeaec0cce1928147016c [INFO] running `Command { std: "docker" "start" "-a" "3df5cb4088b11b9d5bae99af4a7bc4cf8f2e5839731feeaec0cce1928147016c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3df5cb4088b11b9d5bae99af4a7bc4cf8f2e5839731feeaec0cce1928147016c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3df5cb4088b11b9d5bae99af4a7bc4cf8f2e5839731feeaec0cce1928147016c", kill_on_drop: false }` [INFO] [stdout] 3df5cb4088b11b9d5bae99af4a7bc4cf8f2e5839731feeaec0cce1928147016c [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 693a1d057c551a73dc2205acf3b6188cb5fce9ff5a34de27f1b5f74900c05820 [INFO] running `Command { std: "docker" "start" "-a" "693a1d057c551a73dc2205acf3b6188cb5fce9ff5a34de27f1b5f74900c05820", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Checking simd-adler32 v0.3.5 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rayon-core v1.11.0 [INFO] [stderr] Compiling rustix v0.38.3 [INFO] [stderr] Compiling backtrace v0.3.68 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Checking gimli v0.27.3 [INFO] [stderr] Checking crossbeam-epoch v0.9.15 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Compiling serde v1.0.168 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling syn v2.0.23 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Checking miniz_oxide v0.7.1 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking either v1.8.1 [INFO] [stderr] Compiling sdl2-sys v0.35.2 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Checking futures-sink v0.3.28 [INFO] [stderr] Checking flate2 v1.0.26 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.0 [INFO] [stderr] Checking half v2.2.1 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking varinteger v1.0.6 [INFO] [stderr] Compiling sdl2 v0.35.2 [INFO] [stderr] Compiling serde_json v1.0.100 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking ryu v1.0.14 [INFO] [stderr] Checking object v0.31.1 [INFO] [stderr] Checking itoa v1.0.8 [INFO] [stderr] Checking base64 v0.21.2 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking png v0.17.9 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking anstream v0.3.2 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking clap_builder v4.3.11 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.7.0 [INFO] [stderr] Checking addr2line v0.20.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling bytemuck_derive v1.4.1 [INFO] [stderr] Compiling serde_derive v1.0.168 [INFO] [stderr] Compiling pin-project-internal v1.1.2 [INFO] [stderr] Compiling clap_derive v4.3.2 [INFO] [stderr] Compiling macros v0.1.0 (/opt/rustwide/workdir/macros) [INFO] [stdout] warning: unused import: `ToTokens` [INFO] [stdout] --> macros/src/lib.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use quote::{quote, ToTokens}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathArguments`, `Token` [INFO] [stdout] --> macros/src/lib.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | use syn::{parse_macro_input, DeriveInput, Path, PathArguments, Token}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delegate` [INFO] [stdout] --> macros/src/lib.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let delegate = variant.attrs.iter().find(|attr| attr.path().get_ident().is_some_and(|x| x == "delegate")).is_some(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delegate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking jpeg-decoder v0.3.0 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking bitfield-rle v0.2.0 [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tiff v0.8.1 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking pin-project v1.1.2 [INFO] [stderr] Checking flume v0.10.14 [INFO] [stderr] Checking exr v1.7.0 [INFO] [stderr] Checking clap v4.3.11 [INFO] [stderr] Checking image v0.24.6 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking ggrs v0.9.4 [INFO] [stderr] Checking fg-sdl2 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::asset_manager::AssetManager` [INFO] [stdout] --> src/app_context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CharacterSpecificState`, `CharacterState` [INFO] [stdout] --> src/game/character/guy.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{CharacterSpecificState, CharacterState, IdleState, State}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fixed_point::FixedPoint` [INFO] [stdout] --> src/game/camera.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{fixed_point::FixedPoint, super::fvec2::FVec2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Hash`, `IpAddr`, `hash_map::DefaultHasher`, `marker::PhantomData` [INFO] [stdout] --> src/game.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | collections::{hash_map::DefaultHasher, HashMap}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | marker::PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> src/game.rs:1116:77 [INFO] [stdout] | [INFO] [stdout] 1116 | ... cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 1116 - cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] 1116 + cell.save(frame, Some(self.state.clone()), Some(0)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr`, `SocketAddrV4`, `SocketAddr` [INFO] [stdout] --> src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | net::{Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asset_manager::AssetManager` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SessionBuilder`, `SessionState`, `UdpNonBlockingSocket` [INFO] [stdout] --> src/main.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | use ggrs::{SessionBuilder, SessionState, UdpNonBlockingSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `keyboard::Keycode` [INFO] [stdout] --> src/main.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | use sdl2::{event::Event, keyboard::Keycode, pixels::Color}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::asset_manager::AssetManager` [INFO] [stdout] --> src/app_context.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CharacterSpecificState`, `CharacterState` [INFO] [stdout] --> src/game/character/guy.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use super::{CharacterSpecificState, CharacterState, IdleState, State}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fixed_point::FixedPoint` [INFO] [stdout] --> src/game/camera.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{fixed_point::FixedPoint, super::fvec2::FVec2}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Hash`, `IpAddr`, `hash_map::DefaultHasher`, `marker::PhantomData` [INFO] [stdout] --> src/game.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | collections::{hash_map::DefaultHasher, HashMap}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | marker::PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> src/game.rs:1116:77 [INFO] [stdout] | [INFO] [stdout] 1116 | ... cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 1116 - cell.save(frame, Some(self.state.clone()), Some({ 0 })) [INFO] [stdout] 1116 + cell.save(frame, Some(self.state.clone()), Some(0)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr`, `SocketAddrV4`, `SocketAddr` [INFO] [stdout] --> src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | net::{Ipv4Addr, SocketAddr, SocketAddrV4}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `asset_manager::AssetManager` [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use asset_manager::AssetManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SessionBuilder`, `SessionState`, `UdpNonBlockingSocket` [INFO] [stdout] --> src/main.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | use ggrs::{SessionBuilder, SessionState, UdpNonBlockingSocket}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `keyboard::Keycode` [INFO] [stdout] --> src/main.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | use sdl2::{event::Event, keyboard::Keycode, pixels::Color}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/game.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/game.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | hash::{Hash, Hasher}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character/guy.rs:55:64 [INFO] [stdout] | [INFO] [stdout] 55 | Normal::NeutralPunch => Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character.rs:244:36 [INFO] [stdout] | [INFO] [stdout] 244 | Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character/guy.rs:55:64 [INFO] [stdout] | [INFO] [stdout] 55 | Normal::NeutralPunch => Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/camera.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut q = q * self.scale; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/game/character.rs:244:36 [INFO] [stdout] | [INFO] [stdout] 244 | Some(Box::new(move |state, info| { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game/character.rs:291:9 [INFO] [stdout] | [INFO] [stdout] 291 | frame: Frame, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/camera.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut q = q * self.scale; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/game.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let attacker = self.player(hit.attacker); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:284:26 [INFO] [stdout] | [INFO] [stdout] 284 | fn hitreg(&mut self, game_info: &GameInfo) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/game.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 469 | let h = height as i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:655:43 [INFO] [stdout] | [INFO] [stdout] 655 | pub fn render(&self, camera: &Camera, game_info: &GameInfo, canvas: &mut Canvas) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/game.rs:301:17 [INFO] [stdout] | [INFO] [stdout] 301 | let attacker = self.player(hit.attacker); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:284:26 [INFO] [stdout] | [INFO] [stdout] 284 | fn hitreg(&mut self, game_info: &GameInfo) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:989:13 [INFO] [stdout] | [INFO] [stdout] 989 | let mut session = ggrs::SessionBuilder::::new() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1052:50 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total` [INFO] [stdout] --> src/game.rs:1052:56 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `total: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/game.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 469 | let h = height as i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/game.rs:1052:63 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1055:49 [INFO] [stdout] | [INFO] [stdout] 1055 | ggrs::GGRSEvent::Synchronized { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1059:49 [INFO] [stdout] | [INFO] [stdout] 1059 | ggrs::GGRSEvent::Disconnected { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1063:21 [INFO] [stdout] | [INFO] [stdout] 1063 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `disconnect_timeout` [INFO] [stdout] --> src/game.rs:1064:21 [INFO] [stdout] | [INFO] [stdout] 1064 | disconnect_timeout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `disconnect_timeout: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1069:51 [INFO] [stdout] | [INFO] [stdout] 1069 | ggrs::GGRSEvent::NetworkResumed { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1078:21 [INFO] [stdout] | [INFO] [stdout] 1078 | frame, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_checksum` [INFO] [stdout] --> src/game.rs:1079:21 [INFO] [stdout] | [INFO] [stdout] 1079 | local_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `local_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remote_checksum` [INFO] [stdout] --> src/game.rs:1080:21 [INFO] [stdout] | [INFO] [stdout] 1080 | remote_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `remote_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1081:21 [INFO] [stdout] | [INFO] [stdout] 1081 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1118:66 [INFO] [stdout] | [INFO] [stdout] 1118 | ggrs::GGRSRequest::LoadGameState { cell, frame } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_info` [INFO] [stdout] --> src/game.rs:655:43 [INFO] [stdout] | [INFO] [stdout] 655 | pub fn render(&self, camera: &Camera, game_info: &GameInfo, canvas: &mut Canvas) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1146:28 [INFO] [stdout] | [INFO] [stdout] 1146 | fn on_enter(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1150:30 [INFO] [stdout] | [INFO] [stdout] 1150 | fn on_suspend(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1154:29 [INFO] [stdout] | [INFO] [stdout] 1154 | fn on_resume(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1158:27 [INFO] [stdout] | [INFO] [stdout] 1158 | fn on_exit(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/game.rs:1162:25 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1162:52 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1166:24 [INFO] [stdout] | [INFO] [stdout] 1166 | fn tick(&mut self, ctx: &mut crate::app_context::AppContext) -> StateTransition { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `canvas` [INFO] [stdout] --> src/game.rs:1170:26 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1170:55 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/gui/label.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | fn render(&self, window: super::RenderWindow) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:989:13 [INFO] [stdout] | [INFO] [stdout] 989 | let mut session = ggrs::SessionBuilder::::new() [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1052:50 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total` [INFO] [stdout] --> src/game.rs:1052:56 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `total: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/game.rs:1052:63 [INFO] [stdout] | [INFO] [stdout] 1052 | ggrs::GGRSEvent::Synchronizing { addr, total, count } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1055:49 [INFO] [stdout] | [INFO] [stdout] 1055 | ggrs::GGRSEvent::Synchronized { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1059:49 [INFO] [stdout] | [INFO] [stdout] 1059 | ggrs::GGRSEvent::Disconnected { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1063:21 [INFO] [stdout] | [INFO] [stdout] 1063 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `disconnect_timeout` [INFO] [stdout] --> src/game.rs:1064:21 [INFO] [stdout] | [INFO] [stdout] 1064 | disconnect_timeout, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `disconnect_timeout: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1069:51 [INFO] [stdout] | [INFO] [stdout] 1069 | ggrs::GGRSEvent::NetworkResumed { addr } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1078:21 [INFO] [stdout] | [INFO] [stdout] 1078 | frame, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local_checksum` [INFO] [stdout] --> src/game.rs:1079:21 [INFO] [stdout] | [INFO] [stdout] 1079 | local_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `local_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remote_checksum` [INFO] [stdout] --> src/game.rs:1080:21 [INFO] [stdout] | [INFO] [stdout] 1080 | remote_checksum, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `remote_checksum: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/game.rs:1081:21 [INFO] [stdout] | [INFO] [stdout] 1081 | addr, [INFO] [stdout] | ^^^^ help: try ignoring the field: `addr: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/game.rs:1118:66 [INFO] [stdout] | [INFO] [stdout] 1118 | ggrs::GGRSRequest::LoadGameState { cell, frame } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `frame: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1146:28 [INFO] [stdout] | [INFO] [stdout] 1146 | fn on_enter(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1150:30 [INFO] [stdout] | [INFO] [stdout] 1150 | fn on_suspend(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1154:29 [INFO] [stdout] | [INFO] [stdout] 1154 | fn on_resume(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1158:27 [INFO] [stdout] | [INFO] [stdout] 1158 | fn on_exit(&mut self, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/game.rs:1162:25 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1162:52 [INFO] [stdout] | [INFO] [stdout] 1162 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_context` [INFO] [stdout] --> src/main.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | let PlayerType::Local { mapping, input } = &mut game_info.player_2 else { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `input: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1166:24 [INFO] [stdout] | [INFO] [stdout] 1166 | fn tick(&mut self, ctx: &mut crate::app_context::AppContext) -> StateTransition { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `canvas` [INFO] [stdout] --> src/game.rs:1170:26 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_canvas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/game.rs:1170:55 [INFO] [stdout] | [INFO] [stdout] 1170 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut crate::app_context::AppContext) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/gui/label.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | fn render(&self, window: super::RenderWindow) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | Event::ControllerDeviceAdded { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:129:50 [INFO] [stdout] | [INFO] [stdout] 129 | Event::ControllerDeviceRemoved { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fps` [INFO] [stdout] --> src/main.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let fps = 1.0 / time.as_secs_f32(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time` [INFO] [stdout] --> src/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let time = Instant::now().duration_since(now); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sdl_context`, `video_subsystem`, and `game_controller_subsystem` are never read [INFO] [stdout] --> src/app_context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AppContext<'a> { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | // pub asset_manager: AssetManager, [INFO] [stdout] 8 | pub sdl_context: &'a Sdl, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub video_subsystem: &'a VideoSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub game_controller_subsystem: &'a GameControllerSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssetManager` is never constructed [INFO] [stdout] --> src/asset_manager.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AssetManager { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load`, `insert`, and `get` are never used [INFO] [stdout] --> src/asset_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AssetManager { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn load(&mut self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn insert(&mut self, path: impl AsRef, asset: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get(&self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Asset` is never used [INFO] [stdout] --> src/asset_manager.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait Asset: 'static { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Remote` is never constructed [INFO] [stdout] --> src/game.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum PlayerType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | Remote, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `app_context` [INFO] [stdout] --> src/main.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacker_tag` and `target_tag` are never read [INFO] [stdout] --> src/game.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 542 | pub struct Hit { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 545 | attacker_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 546 | target_tag: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_facing` is never used [INFO] [stdout] --> src/game.rs:595:8 [INFO] [stdout] | [INFO] [stdout] 594 | impl Player { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 595 | fn set_facing(&mut self, new_facing: Facing) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | let PlayerType::Local { mapping, input } = &mut game_info.player_2 else { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `input: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLLBACK_WINDOW` is never used [INFO] [stdout] --> src/game.rs:931:11 [INFO] [stdout] | [INFO] [stdout] 931 | pub const ROLLBACK_WINDOW: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:93:21 [INFO] [stdout] | [INFO] [stdout] 93 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `startup`, `active_frames`, and `recovery` are never read [INFO] [stdout] --> src/game/animation.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Animation { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub startup: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | /// also includes gaps in active frames [INFO] [stdout] 21 | pub active_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub recovery: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:94:21 [INFO] [stdout] | [INFO] [stdout] 94 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_motion` is never read [INFO] [stdout] --> src/game/animation.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct FrameData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 177 | pub root_motion: Vec2, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct HitboxInfo { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 182 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 97 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct HitboxPosition { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 188 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/character.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct CharacterProto { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 18 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_id` [INFO] [stdout] --> src/main.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | window_id, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `window_id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keycode` [INFO] [stdout] --> src/main.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | keycode, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `keycode: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_down`, `is_up`, and `is_forward` are never used [INFO] [stdout] --> src/game/character.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 350 | impl CharacterDirection { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn is_down(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn is_up(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn is_forward(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `keymod` [INFO] [stdout] --> src/main.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | keymod, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `keymod: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/movelist.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Move { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 35 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/main.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | repeat, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `repeat: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `any`, `airborne`, `blockstun`, `hitstun`, and `specific` are never used [INFO] [stdout] --> src/game/movelist.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl StateMatcher { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn any() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn airborne() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn blockstun() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn hitstun() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn specific(state: CharacterState) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `StateChange` is never constructed [INFO] [stdout] --> src/game/movelist.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum Effect { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 124 | StateChange(CharacterState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Effect` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | timestamp, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `release_controller` is never used [INFO] [stdout] --> src/game/input.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl InputMapping { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn release_controller(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `which` [INFO] [stdout] --> src/main.rs:120:21 [INFO] [stdout] | [INFO] [stdout] 120 | which, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `which: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_released` is never used [INFO] [stdout] --> src/game/input.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 105 | impl BoxedInput { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn is_released(&self, action: Action) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | Event::ControllerDeviceAdded { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_frame_basis` and `update_allowed_diff` are never used [INFO] [stdout] --> src/game/input.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | impl<'a> InputIter<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 218 | pub fn update_frame_basis(&mut self, new_basis: Frame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn update_allowed_diff(&mut self, allowed_diff: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/main.rs:129:50 [INFO] [stdout] | [INFO] [stdout] 129 | Event::ControllerDeviceRemoved { timestamp, which } => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `timestamp: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `render` is never used [INFO] [stdout] --> src/gui.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Widget { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 9 | fn render(&self, window: RenderWindow); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fps` [INFO] [stdout] --> src/main.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | let fps = 1.0 / time.as_secs_f32(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time` [INFO] [stdout] --> src/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let time = Instant::now().duration_since(now); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offset` and `size` are never read [INFO] [stdout] --> src/gui.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct RenderWindow<'a> { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 13 | canvas: &'a mut Canvas, [INFO] [stdout] 14 | offset: FVec2, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | size: FVec2, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `subwindow` are never used [INFO] [stdout] --> src/gui.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> RenderWindow<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 20 | fn new(canvas: &'a mut Canvas, size: FVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn subwindow(&mut self, offset: FVec2, size: FVec2) -> RenderWindow { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `text` is never read [INFO] [stdout] --> src/gui/label.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Label { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 5 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StateStack` is never constructed [INFO] [stdout] --> src/state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StateStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/state.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StateStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(initial_state: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn push(&mut self, mut state: Box, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn pop(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn tick(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Push`, `Pop`, and `PopPush` are never constructed [INFO] [stdout] --> src/state.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum StateTransition { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 69 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 70 | Push(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Pop(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | PopPush(usize, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait State { [INFO] [stdout] | ----- methods in this trait [INFO] [stdout] 76 | fn on_enter(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 77 | fn on_suspend(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 78 | fn on_resume(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 79 | fn on_exit(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | [INFO] [stdout] 81 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | fn tick(&mut self, ctx: &mut AppContext) -> StateTransition; [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Updater` is never constructed [INFO] [stdout] --> src/updater.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Updater { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/updater.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Updater { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILENAME` is never used [INFO] [stdout] --> src/updater.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const FILENAME: &'static str = "linux_debug_x86_64.zip"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `generate`, `load`, and `load_or_generate` are never used [INFO] [stdout] --> src/updater.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 31 | fn generate() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn load() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn load_or_generate() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut app_context = AppContext { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sdl_context`, `video_subsystem`, and `game_controller_subsystem` are never read [INFO] [stdout] --> src/app_context.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AppContext<'a> { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | // pub asset_manager: AssetManager, [INFO] [stdout] 8 | pub sdl_context: &'a Sdl, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub video_subsystem: &'a VideoSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub game_controller_subsystem: &'a GameControllerSubsystem, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AssetManager` is never constructed [INFO] [stdout] --> src/asset_manager.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AssetManager { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load`, `insert`, and `get` are never used [INFO] [stdout] --> src/asset_manager.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl AssetManager { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 8 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn load(&mut self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn insert(&mut self, path: impl AsRef, asset: T) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn get(&self, path: impl AsRef) -> Option<&T> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Asset` is never used [INFO] [stdout] --> src/asset_manager.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub trait Asset: 'static { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Remote` is never constructed [INFO] [stdout] --> src/game.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum PlayerType { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 50 | Remote, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacker_tag` and `target_tag` are never read [INFO] [stdout] --> src/game.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 542 | pub struct Hit { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 545 | attacker_tag: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 546 | target_tag: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_facing` is never used [INFO] [stdout] --> src/game.rs:595:8 [INFO] [stdout] | [INFO] [stdout] 594 | impl Player { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 595 | fn set_facing(&mut self, new_facing: Facing) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROLLBACK_WINDOW` is never used [INFO] [stdout] --> src/game.rs:931:11 [INFO] [stdout] | [INFO] [stdout] 931 | pub const ROLLBACK_WINDOW: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `startup`, `active_frames`, and `recovery` are never read [INFO] [stdout] --> src/game/animation.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Animation { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub startup: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | /// also includes gaps in active frames [INFO] [stdout] 21 | pub active_frames: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub recovery: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `root_motion` is never read [INFO] [stdout] --> src/game/animation.rs:177:9 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct FrameData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 177 | pub root_motion: Vec2, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct HitboxInfo { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 182 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/game/animation.rs:188:9 [INFO] [stdout] | [INFO] [stdout] 187 | pub struct HitboxPosition { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 188 | pub id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/character.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct CharacterProto { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 18 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_down`, `is_up`, and `is_forward` are never used [INFO] [stdout] --> src/game/character.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 350 | impl CharacterDirection { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn is_down(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn is_up(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn is_forward(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/game/movelist.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Move { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 35 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `any`, `airborne`, `blockstun`, `hitstun`, and `specific` are never used [INFO] [stdout] --> src/game/movelist.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 75 | impl StateMatcher { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn any() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn airborne() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn blockstun() -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn hitstun() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn specific(state: CharacterState) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `StateChange` is never constructed [INFO] [stdout] --> src/game/movelist.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum Effect { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 124 | StateChange(CharacterState), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Effect` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `release_controller` is never used [INFO] [stdout] --> src/game/input.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl InputMapping { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn release_controller(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_released` is never used [INFO] [stdout] --> src/game/input.rs:122:12 [INFO] [stdout] | [INFO] [stdout] 105 | impl BoxedInput { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn is_released(&self, action: Action) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_frame_basis` and `update_allowed_diff` are never used [INFO] [stdout] --> src/game/input.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 217 | impl<'a> InputIter<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 218 | pub fn update_frame_basis(&mut self, new_basis: Frame) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn update_allowed_diff(&mut self, allowed_diff: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `render` is never used [INFO] [stdout] --> src/gui.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait Widget { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 9 | fn render(&self, window: RenderWindow); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `offset` and `size` are never read [INFO] [stdout] --> src/gui.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct RenderWindow<'a> { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 13 | canvas: &'a mut Canvas, [INFO] [stdout] 14 | offset: FVec2, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | size: FVec2, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `subwindow` are never used [INFO] [stdout] --> src/gui.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> RenderWindow<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 20 | fn new(canvas: &'a mut Canvas, size: FVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn subwindow(&mut self, offset: FVec2, size: FVec2) -> RenderWindow { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `text` is never read [INFO] [stdout] --> src/gui/label.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Label { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 5 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StateStack` is never constructed [INFO] [stdout] --> src/state.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct StateStack { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/state.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl StateStack { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(initial_state: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn push(&mut self, mut state: Box, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn pop(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn tick(&mut self, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Push`, `Pop`, and `PopPush` are never constructed [INFO] [stdout] --> src/state.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub enum StateTransition { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 69 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 70 | Push(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] 71 | Pop(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | PopPush(usize, Box), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub trait State { [INFO] [stdout] | ----- methods in this trait [INFO] [stdout] 76 | fn on_enter(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 77 | fn on_suspend(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 78 | fn on_resume(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 79 | fn on_exit(&mut self, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 80 | [INFO] [stdout] 81 | fn event(&mut self, event: sdl2::event::Event, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 82 | fn tick(&mut self, ctx: &mut AppContext) -> StateTransition; [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | fn render(&mut self, canvas: &mut Canvas, ctx: &mut AppContext); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Updater` is never constructed [INFO] [stdout] --> src/updater.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Updater { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/updater.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Updater { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILENAME` is never used [INFO] [stdout] --> src/updater.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const FILENAME: &'static str = "linux_debug_x86_64.zip"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `generate`, `load`, and `load_or_generate` are never used [INFO] [stdout] --> src/updater.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Config { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 31 | fn generate() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn load() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn load_or_generate() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 96 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 96 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.02s [INFO] running `Command { std: "docker" "inspect" "693a1d057c551a73dc2205acf3b6188cb5fce9ff5a34de27f1b5f74900c05820", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "693a1d057c551a73dc2205acf3b6188cb5fce9ff5a34de27f1b5f74900c05820", kill_on_drop: false }` [INFO] [stdout] 693a1d057c551a73dc2205acf3b6188cb5fce9ff5a34de27f1b5f74900c05820