[INFO] cloning repository https://github.com/rust-game-samples/asteroid [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rust-game-samples/asteroid" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frust-game-samples%2Fasteroid", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frust-game-samples%2Fasteroid'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0aacd7dfc972a6b5c480759fcc73aec12f113811 [INFO] checking rust-game-samples/asteroid against try#b32fc44666c052e7cf07ab471bfb6f9ec571902f for pr-138676 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frust-game-samples%2Fasteroid" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rust-game-samples/asteroid on toolchain b32fc44666c052e7cf07ab471bfb6f9ec571902f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rust-game-samples/asteroid [INFO] finished tweaking git repo https://github.com/rust-game-samples/asteroid [INFO] tweaked toml for git repo https://github.com/rust-game-samples/asteroid written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/rust-game-samples/asteroid 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" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f74106b16df6b95e865e2bc1e11d13b0da637248bdad424cca8a256592d34840 [INFO] running `Command { std: "docker" "start" "-a" "f74106b16df6b95e865e2bc1e11d13b0da637248bdad424cca8a256592d34840", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f74106b16df6b95e865e2bc1e11d13b0da637248bdad424cca8a256592d34840", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f74106b16df6b95e865e2bc1e11d13b0da637248bdad424cca8a256592d34840", kill_on_drop: false }` [INFO] [stdout] f74106b16df6b95e865e2bc1e11d13b0da637248bdad424cca8a256592d34840 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:1680c8fbd8dfb46fcd6d22e546df16ab0e007457dc29fcd9e987cdd5077fd1af" "/opt/rustwide/cargo-home/bin/cargo" "+b32fc44666c052e7cf07ab471bfb6f9ec571902f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dea7fe28d88b13e9b3bd69f22b7f483aefa14fcdb23444c535afbfc54f2480fd [INFO] running `Command { std: "docker" "start" "-a" "dea7fe28d88b13e9b3bd69f22b7f483aefa14fcdb23444c535afbfc54f2480fd", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Compiling cc v1.1.15 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling xml-rs v0.8.21 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling syn v2.0.76 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Compiling wayland-sys v0.31.4 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling wayland-client v0.31.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking bytemuck v1.17.0 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling quick-xml v0.34.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling wayland-backend v0.3.6 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking ttf-parser v0.24.1 [INFO] [stderr] Compiling wayland-scanner v0.31.4 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking xcursor v0.3.8 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking arrayref v0.3.8 [INFO] [stderr] Checking cursor-icon v1.1.0 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling glutin_egl_sys v0.7.0 [INFO] [stderr] Compiling glutin_glx_sys v0.6.0 [INFO] [stderr] Checking owned_ttf_parser v0.24.0 [INFO] [stderr] Checking memmap2 v0.9.4 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Compiling built v0.7.4 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking aligned-vec v0.5.0 [INFO] [stderr] Compiling sdl2-sys v0.37.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking v_frame v0.3.8 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Checking polling v3.7.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking ab_glyph v0.2.28 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling winit v0.30.5 [INFO] [stderr] Compiling glutin v0.32.0 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking av1-grain v0.2.3 [INFO] [stderr] Checking flate2 v1.0.33 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling profiling-procmacros v1.0.15 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Checking wayland-protocols v0.32.3 [INFO] [stderr] Checking wayland-cursor v0.31.5 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling backtrace v0.3.73 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking bitstream-io v2.5.3 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking imgref v1.10.1 [INFO] [stderr] Checking gimli v0.29.0 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking dpi v0.1.1 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking object v0.36.3 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking rand_core v0.9.0-alpha.2 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Compiling gl v0.14.0 [INFO] [stderr] Compiling glium v0.35.0 [INFO] [stderr] Checking avif-serialize v0.8.1 [INFO] [stderr] Checking rgb v0.8.48 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.3 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.3 [INFO] [stderr] Checking addr2line v0.22.0 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Compiling sdl2 v0.37.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking image-webp v0.1.3 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking zune-jpeg v0.4.13 [INFO] [stderr] Checking rand_chacha v0.9.0-alpha.2 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking rand v0.9.0-alpha.2 [INFO] [stderr] Checking ravif v0.11.10 [INFO] [stderr] Checking image v0.25.2 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking asteroid v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | let mut tex = Rc::new(RefCell::new(Texture::new())); [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.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | let mut tex = Rc::new(RefCell::new(Texture::new())); [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: `update_order` [INFO] [stdout] --> src/circle_component.rs:33:39 [INFO] [stdout] | [INFO] [stdout] 33 | fn new(owner: Rc>, update_order: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_order` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `context`, `textures`, `window`, `ticks_count`, and `updating_actors` are never read [INFO] [stdout] --> src/game.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 21 | canvas: WindowCanvas, [INFO] [stdout] 22 | context: sdl2::video::GLContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 23 | is_running: bool, [INFO] [stdout] 24 | textures: HashMap>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | window: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 32 | ticks_count: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 33 | updating_actors: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_texture`, `add_actor`, `add_asteroid`, and `add_sprite` are never used [INFO] [stdout] --> src/game.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get_texture( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn add_actor(&mut self, actor: Rc>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn add_asteroid(&mut self, asteroid: Rc>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn add_sprite(&mut self, sprite: Rc>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed [INFO] [stdout] --> src/actor.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum State { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 10 | Active, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | Paused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Dead, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `State` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state`, `scale`, and `world_transform` are never read [INFO] [stdout] --> src/actor.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Actor { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 17 | state: State, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | position: Vector2, [INFO] [stdout] 19 | scale: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | world_transform: Matrix4, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Actor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/actor.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Actor { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 28 | pub fn new(game: Rc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn update(&mut self, delta_time: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn update_components(&mut self, delta_time: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn update_actor(&mut self, _delta_time: f32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn process_input(&mut self, key_state: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn actor_input(&mut self, _key_state: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn compute_world_transform(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn set_scale(&mut self, scale: f32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn get_scale(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_world_transform(&self) -> Matrix4 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn get_state(&self) -> &State { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn set_state(&mut self, state: State) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PI` is never used [INFO] [stdout] --> src/math.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub const PI: f32 = 3.1415926535; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TWO_PI` is never used [INFO] [stdout] --> src/math.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub const TWO_PI: f32 = PI * 2.0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PI_OVER_2` is never used [INFO] [stdout] --> src/math.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const PI_OVER_2: f32 = PI / 2.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INFINITY` is never used [INFO] [stdout] --> src/math.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub const INFINITY: f32 = f32::INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEG_INFINITY` is never used [INFO] [stdout] --> src/math.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const NEG_INFINITY: f32 = f32::NEG_INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_radians` is never used [INFO] [stdout] --> src/math.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn to_radians(degrees: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_degrees` is never used [INFO] [stdout] --> src/math.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn to_degrees(radians: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `near_zero` is never used [INFO] [stdout] --> src/math.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn near_zero(val: f32, epsilon: f32) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max` is never used [INFO] [stdout] --> src/math.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn max(a: T, b: T) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min` is never used [INFO] [stdout] --> src/math.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn min(a: T, b: T) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/math.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn clamp(value: T, lower: T, upper: T) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/math.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn abs(value: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cos` is never used [INFO] [stdout] --> src/math.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn cos(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sin` is never used [INFO] [stdout] --> src/math.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn sin(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tan` is never used [INFO] [stdout] --> src/math.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn tan(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `acos` is never used [INFO] [stdout] --> src/math.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn acos(value: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atan2` is never used [INFO] [stdout] --> src/math.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn atan2(y: f32, x: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cot` is never used [INFO] [stdout] --> src/math.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn cot(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp` is never used [INFO] [stdout] --> src/math.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn lerp(a: f32, b: f32, f: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sqrt` is never used [INFO] [stdout] --> src/math.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn sqrt(value: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmod` is never used [INFO] [stdout] --> src/math.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn fmod(numer: f32, denom: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLACK` is never used [INFO] [stdout] --> src/math.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | pub const BLACK: Vector3 = Vector3 { x: 0.0, y: 0.0, z: 0.0 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WHITE` is never used [INFO] [stdout] --> src/math.rs:957:15 [INFO] [stdout] | [INFO] [stdout] 957 | pub const WHITE: Vector3 = Vector3 { x: 1.0, y: 1.0, z: 1.0 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RED` is never used [INFO] [stdout] --> src/math.rs:958:15 [INFO] [stdout] | [INFO] [stdout] 958 | pub const RED: Vector3 = Vector3 { x: 1.0, y: 0.0, z: 0.0 }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GREEN` is never used [INFO] [stdout] --> src/math.rs:959:15 [INFO] [stdout] | [INFO] [stdout] 959 | pub const GREEN: Vector3 = Vector3 { x: 0.0, y: 1.0, z: 0.0 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLUE` is never used [INFO] [stdout] --> src/math.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | pub const BLUE: Vector3 = Vector3 { x: 0.0, y: 0.0, z: 1.0 }; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YELLOW` is never used [INFO] [stdout] --> src/math.rs:961:15 [INFO] [stdout] | [INFO] [stdout] 961 | pub const YELLOW: Vector3 = Vector3 { x: 1.0, y: 1.0, z: 0.0 }; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_YELLOW` is never used [INFO] [stdout] --> src/math.rs:962:15 [INFO] [stdout] | [INFO] [stdout] 962 | pub const LIGHT_YELLOW: Vector3 = Vector3 { x: 1.0, y: 1.0, z: 0.88 }; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_BLUE` is never used [INFO] [stdout] --> src/math.rs:963:15 [INFO] [stdout] | [INFO] [stdout] 963 | pub const LIGHT_BLUE: Vector3 = Vector3 { x: 0.68, y: 0.85, z: 0.9 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_PINK` is never used [INFO] [stdout] --> src/math.rs:964:15 [INFO] [stdout] | [INFO] [stdout] 964 | pub const LIGHT_PINK: Vector3 = Vector3 { x: 1.0, y: 0.71, z: 0.76 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_GREEN` is never used [INFO] [stdout] --> src/math.rs:965:15 [INFO] [stdout] | [INFO] [stdout] 965 | pub const LIGHT_GREEN: Vector3 = Vector3 { x: 0.56, y: 0.93, z: 0.56 }; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `process_input` are never used [INFO] [stdout] --> src/component.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- associated items in this trait [INFO] [stdout] 6 | fn new(owner: Rc>, update_order: i32) -> Self [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fn process_input(&mut self, _key_state: &[u8]) {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `circle` is never read [INFO] [stdout] --> src/asteroid.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Asteroid { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 13 | actor: Actor, [INFO] [stdout] 14 | circle: Option>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Asteroid` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_circle` are never used [INFO] [stdout] --> src/asteroid.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Asteroid { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(game: Rc>) -> Rc> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_circle(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `radius` is never read [INFO] [stdout] --> src/circle_component.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct CircleComponent { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 9 | base: BaseComponent, [INFO] [stdout] 10 | radius: f32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CircleComponent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_radius`, `get_radius`, and `get_center` are never used [INFO] [stdout] --> src/circle_component.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl CircleComponent { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn set_radius(&mut self, radius: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_radius(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_center(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intersect` is never used [INFO] [stdout] --> src/circle_component.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn intersect(a: &CircleComponent, b: &CircleComponent) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_id`, `width`, and `height` are never read [INFO] [stdout] --> src/texture.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Texture { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 9 | texture_id: GLuint, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 10 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Texture` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load`, `unload`, `set_active`, `get_width`, and `get_height` are never used [INFO] [stdout] --> src/texture.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Texture { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn load( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn unload(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn set_active(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_width(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_height(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Random` is never constructed [INFO] [stdout] --> src/random.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Random; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `get_float`, `get_float_range`, `get_int_range`, `get_vector2`, and `get_vector3` are never used [INFO] [stdout] --> src/random.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Random { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 7 | pub fn get_float() -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn get_float_range(min: f32, max: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn get_int_range(min: i32, max: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_vector2(min: Vector2, max: Vector2) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_vector3(min: Vector3, max: Vector3) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_angular_speed` and `get_forward_speed` are never used [INFO] [stdout] --> src/move_component.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl MoveComponent { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_angular_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_forward_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture`, `draw_order`, `tex_width`, and `tex_height` are never read [INFO] [stdout] --> src/sprite_component.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SpriteComponent { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | owner: Rc>, [INFO] [stdout] 11 | texture: Option>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | draw_order: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | tex_width: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | tex_height: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpriteComponent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `draw`, `set_texture`, `get_draw_order`, `get_tex_height`, and `get_tex_width` are never used [INFO] [stdout] --> src/sprite_component.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SpriteComponent { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(owner: Rc>, draw_order: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn draw(&self, shader: &Shader) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_texture(&mut self, texture: Rc>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get_draw_order(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_tex_height(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_tex_width(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/shader.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Shader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn load(&mut self, vert_name: &str, frag_name: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn set_active(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn set_matrix_uniform(&self, name: &str, matrix: &Matrix4) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn compile_shader(&self, file_name: &str, shader_type: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn is_compiled(&self, shader: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn is_valid_program(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/input_component.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl InputComponent { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn get_max_forward_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get_max_angular_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_forward_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn get_back_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_clockwise_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_counter_clockwise_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn set_max_forward_speed(&mut self, speed: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_max_angular_speed(&mut self, speed: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn set_forward_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn set_back_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_clockwise_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_counter_clockwise_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `update_order` [INFO] [stdout] --> src/circle_component.rs:33:39 [INFO] [stdout] | [INFO] [stdout] 33 | fn new(owner: Rc>, update_order: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_update_order` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `context`, `textures`, `window`, `ticks_count`, and `updating_actors` are never read [INFO] [stdout] --> src/game.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Game { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 21 | canvas: WindowCanvas, [INFO] [stdout] 22 | context: sdl2::video::GLContext, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 23 | is_running: bool, [INFO] [stdout] 24 | textures: HashMap>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | window: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 32 | ticks_count: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 33 | updating_actors: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_texture`, `add_actor`, `add_asteroid`, and `add_sprite` are never used [INFO] [stdout] --> src/game.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Game { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn get_texture( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn add_actor(&mut self, actor: Rc>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn add_asteroid(&mut self, asteroid: Rc>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn add_sprite(&mut self, sprite: Rc>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed [INFO] [stdout] --> src/actor.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum State { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 10 | Active, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 11 | Paused, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Dead, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `State` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state`, `scale`, and `world_transform` are never read [INFO] [stdout] --> src/actor.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Actor { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 17 | state: State, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | position: Vector2, [INFO] [stdout] 19 | scale: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | world_transform: Matrix4, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Actor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/actor.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Actor { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 28 | pub fn new(game: Rc>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn update(&mut self, delta_time: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | fn update_components(&mut self, delta_time: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn update_actor(&mut self, _delta_time: f32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn process_input(&mut self, key_state: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn actor_input(&mut self, _key_state: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn compute_world_transform(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn set_scale(&mut self, scale: f32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn get_scale(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn get_world_transform(&self) -> Matrix4 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn get_state(&self) -> &State { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn set_state(&mut self, state: State) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PI` is never used [INFO] [stdout] --> src/math.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub const PI: f32 = 3.1415926535; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TWO_PI` is never used [INFO] [stdout] --> src/math.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub const TWO_PI: f32 = PI * 2.0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PI_OVER_2` is never used [INFO] [stdout] --> src/math.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const PI_OVER_2: f32 = PI / 2.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INFINITY` is never used [INFO] [stdout] --> src/math.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub const INFINITY: f32 = f32::INFINITY; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEG_INFINITY` is never used [INFO] [stdout] --> src/math.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const NEG_INFINITY: f32 = f32::NEG_INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_radians` is never used [INFO] [stdout] --> src/math.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn to_radians(degrees: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_degrees` is never used [INFO] [stdout] --> src/math.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn to_degrees(radians: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `near_zero` is never used [INFO] [stdout] --> src/math.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn near_zero(val: f32, epsilon: f32) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max` is never used [INFO] [stdout] --> src/math.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn max(a: T, b: T) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min` is never used [INFO] [stdout] --> src/math.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn min(a: T, b: T) -> T { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/math.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn clamp(value: T, lower: T, upper: T) -> T { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `abs` is never used [INFO] [stdout] --> src/math.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn abs(value: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cos` is never used [INFO] [stdout] --> src/math.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn cos(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sin` is never used [INFO] [stdout] --> src/math.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn sin(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tan` is never used [INFO] [stdout] --> src/math.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn tan(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `acos` is never used [INFO] [stdout] --> src/math.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn acos(value: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `atan2` is never used [INFO] [stdout] --> src/math.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn atan2(y: f32, x: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cot` is never used [INFO] [stdout] --> src/math.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn cot(angle: f32) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp` is never used [INFO] [stdout] --> src/math.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn lerp(a: f32, b: f32, f: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sqrt` is never used [INFO] [stdout] --> src/math.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn sqrt(value: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fmod` is never used [INFO] [stdout] --> src/math.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn fmod(numer: f32, denom: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLACK` is never used [INFO] [stdout] --> src/math.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | pub const BLACK: Vector3 = Vector3 { x: 0.0, y: 0.0, z: 0.0 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WHITE` is never used [INFO] [stdout] --> src/math.rs:957:15 [INFO] [stdout] | [INFO] [stdout] 957 | pub const WHITE: Vector3 = Vector3 { x: 1.0, y: 1.0, z: 1.0 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RED` is never used [INFO] [stdout] --> src/math.rs:958:15 [INFO] [stdout] | [INFO] [stdout] 958 | pub const RED: Vector3 = Vector3 { x: 1.0, y: 0.0, z: 0.0 }; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GREEN` is never used [INFO] [stdout] --> src/math.rs:959:15 [INFO] [stdout] | [INFO] [stdout] 959 | pub const GREEN: Vector3 = Vector3 { x: 0.0, y: 1.0, z: 0.0 }; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLUE` is never used [INFO] [stdout] --> src/math.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | pub const BLUE: Vector3 = Vector3 { x: 0.0, y: 0.0, z: 1.0 }; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YELLOW` is never used [INFO] [stdout] --> src/math.rs:961:15 [INFO] [stdout] | [INFO] [stdout] 961 | pub const YELLOW: Vector3 = Vector3 { x: 1.0, y: 1.0, z: 0.0 }; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_YELLOW` is never used [INFO] [stdout] --> src/math.rs:962:15 [INFO] [stdout] | [INFO] [stdout] 962 | pub const LIGHT_YELLOW: Vector3 = Vector3 { x: 1.0, y: 1.0, z: 0.88 }; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_BLUE` is never used [INFO] [stdout] --> src/math.rs:963:15 [INFO] [stdout] | [INFO] [stdout] 963 | pub const LIGHT_BLUE: Vector3 = Vector3 { x: 0.68, y: 0.85, z: 0.9 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_PINK` is never used [INFO] [stdout] --> src/math.rs:964:15 [INFO] [stdout] | [INFO] [stdout] 964 | pub const LIGHT_PINK: Vector3 = Vector3 { x: 1.0, y: 0.71, z: 0.76 }; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LIGHT_GREEN` is never used [INFO] [stdout] --> src/math.rs:965:15 [INFO] [stdout] | [INFO] [stdout] 965 | pub const LIGHT_GREEN: Vector3 = Vector3 { x: 0.56, y: 0.93, z: 0.56 }; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `process_input` are never used [INFO] [stdout] --> src/component.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub trait Component { [INFO] [stdout] | --------- associated items in this trait [INFO] [stdout] 6 | fn new(owner: Rc>, update_order: i32) -> Self [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fn process_input(&mut self, _key_state: &[u8]) {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `circle` is never read [INFO] [stdout] --> src/asteroid.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Asteroid { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 13 | actor: Actor, [INFO] [stdout] 14 | circle: Option>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Asteroid` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_circle` are never used [INFO] [stdout] --> src/asteroid.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Asteroid { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(game: Rc>) -> Rc> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_circle(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `radius` is never read [INFO] [stdout] --> src/circle_component.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct CircleComponent { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 9 | base: BaseComponent, [INFO] [stdout] 10 | radius: f32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CircleComponent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_radius`, `get_radius`, and `get_center` are never used [INFO] [stdout] --> src/circle_component.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl CircleComponent { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn set_radius(&mut self, radius: f32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_radius(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_center(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intersect` is never used [INFO] [stdout] --> src/circle_component.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn intersect(a: &CircleComponent, b: &CircleComponent) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture_id`, `width`, and `height` are never read [INFO] [stdout] --> src/texture.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Texture { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 9 | texture_id: GLuint, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 10 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Texture` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `load`, `unload`, `set_active`, `get_width`, and `get_height` are never used [INFO] [stdout] --> src/texture.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Texture { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn load( [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn unload(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn set_active(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_width(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_height(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Random` is never constructed [INFO] [stdout] --> src/random.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Random; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `get_float`, `get_float_range`, `get_int_range`, `get_vector2`, and `get_vector3` are never used [INFO] [stdout] --> src/random.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Random { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 7 | pub fn get_float() -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn get_float_range(min: f32, max: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn get_int_range(min: i32, max: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_vector2(min: Vector2, max: Vector2) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_vector3(min: Vector3, max: Vector3) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_angular_speed` and `get_forward_speed` are never used [INFO] [stdout] --> src/move_component.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl MoveComponent { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn get_angular_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_forward_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `texture`, `draw_order`, `tex_width`, and `tex_height` are never read [INFO] [stdout] --> src/sprite_component.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct SpriteComponent { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | owner: Rc>, [INFO] [stdout] 11 | texture: Option>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | draw_order: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 13 | tex_width: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | tex_height: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpriteComponent` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `draw`, `set_texture`, `get_draw_order`, `get_tex_height`, and `get_tex_width` are never used [INFO] [stdout] --> src/sprite_component.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl SpriteComponent { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(owner: Rc>, draw_order: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn draw(&self, shader: &Shader) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_texture(&mut self, texture: Rc>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get_draw_order(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_tex_height(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_tex_width(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/shader.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Shader { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn load(&mut self, vert_name: &str, frag_name: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn set_active(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn set_matrix_uniform(&self, name: &str, matrix: &Matrix4) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn compile_shader(&self, file_name: &str, shader_type: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn is_compiled(&self, shader: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn is_valid_program(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/input_component.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl InputComponent { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn get_max_forward_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get_max_angular_speed(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_forward_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn get_back_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_clockwise_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_counter_clockwise_key(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn set_max_forward_speed(&mut self, speed: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_max_angular_speed(&mut self, speed: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn set_forward_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn set_back_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_clockwise_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_counter_clockwise_key(&mut self, key: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "dea7fe28d88b13e9b3bd69f22b7f483aefa14fcdb23444c535afbfc54f2480fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dea7fe28d88b13e9b3bd69f22b7f483aefa14fcdb23444c535afbfc54f2480fd", kill_on_drop: false }` [INFO] [stdout] dea7fe28d88b13e9b3bd69f22b7f483aefa14fcdb23444c535afbfc54f2480fd