[INFO] cloning repository https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBadgerBadgerBadgerBadger%2Fggez-space-invaders", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBadgerBadgerBadgerBadger%2Fggez-space-invaders'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 291d3a41df850bf2712f52110ede29bf698365b1 [INFO] checking BadgerBadgerBadgerBadger/ggez-space-invaders against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBadgerBadgerBadgerBadger%2Fggez-space-invaders" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders [INFO] finished tweaking git repo https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders [INFO] tweaked toml for git repo https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/BadgerBadgerBadgerBadger/ggez-space-invaders already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7a4897b58f899de33679b624828c92a21c822312fb4ece90cc614f18f50774be [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7a4897b58f899de33679b624828c92a21c822312fb4ece90cc614f18f50774be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7a4897b58f899de33679b624828c92a21c822312fb4ece90cc614f18f50774be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a4897b58f899de33679b624828c92a21c822312fb4ece90cc614f18f50774be", kill_on_drop: false }` [INFO] [stdout] 7a4897b58f899de33679b624828c92a21c822312fb4ece90cc614f18f50774be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 92a9877ba9ea22fc6096e80a85c86d70da52f1073c8512b0e054fd70a20f319c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "92a9877ba9ea22fc6096e80a85c86d70da52f1073c8512b0e054fd70a20f319c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.74 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling pkg-config v0.3.18 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling serde v1.0.115 [INFO] [stderr] Compiling cc v1.0.58 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling syn v1.0.38 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Compiling serde_json v1.0.57 [INFO] [stderr] Compiling serde_derive v1.0.115 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling nix v0.15.0 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking uuid v0.8.1 [INFO] [stderr] Checking mint v0.5.5 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling miniz_oxide v0.4.0 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking gif v0.10.3 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling memoffset v0.5.5 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling num-rational v0.2.4 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking draw_state v0.8.0 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling alsa-sys v0.1.2 [INFO] [stderr] Checking stb_truetype v0.3.1 [INFO] [stderr] Checking ogg v0.7.0 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Checking jpeg-decoder v0.1.20 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling pulldown-cmark v0.2.0 [INFO] [stderr] Compiling gl_generator v0.13.1 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling bzip2-sys v0.1.9+1.0.8 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Checking wayland-sys v0.21.13 [INFO] [stderr] Checking gfx_core v0.9.2 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking lewton v0.9.4 [INFO] [stderr] Checking png v0.15.3 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking nix v0.14.1 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking slice-deque v0.3.0 [INFO] [stderr] Checking dirs-sys v0.3.5 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Compiling backtrace v0.3.50 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking ordered-float v1.1.0 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking directories v2.0.2 [INFO] [stderr] Checking cpal v0.8.2 [INFO] [stderr] Compiling glutin_glx_sys v0.1.6 [INFO] [stderr] Compiling glutin_egl_sys v0.1.4 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Checking bzip2 v0.3.3 [INFO] [stderr] Checking minimp3 v0.3.5 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking gfx v0.18.2 [INFO] [stderr] Checking toml v0.5.6 [INFO] [stderr] Checking sid v0.5.2 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Checking zip v0.5.6 [INFO] [stderr] Checking alga v0.9.3 [INFO] [stderr] Checking rusttype v0.8.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking glyph_brush_layout v0.1.9 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking nalgebra v0.18.1 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking twox-hash v1.5.0 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking wayland-commons v0.21.13 [INFO] [stderr] Checking glyph_brush v0.6.3 [INFO] [stderr] Checking glyph_brush v0.5.4 [INFO] [stderr] Checking gilrs-core v0.2.6 [INFO] [stderr] Checking gilrs v0.7.4 [INFO] [stderr] Compiling euclid_macros v0.1.0 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling smart-default v0.5.2 [INFO] [stderr] Checking gfx_device_gl v0.16.2 [INFO] [stderr] Checking euclid v0.19.9 [INFO] [stderr] Checking tiff v0.3.1 [INFO] [stderr] Checking lyon_geom v0.12.7 [INFO] [stderr] Checking image v0.22.5 [INFO] [stderr] Checking lyon_path v0.13.2 [INFO] [stderr] Checking lyon_tessellation v0.13.5 [INFO] [stderr] Checking lyon_algorithms v0.13.4 [INFO] [stderr] Checking lyon v0.13.5 [INFO] [stderr] Checking smithay-client-toolkit v0.4.6 [INFO] [stderr] Compiling cargo_metadata v0.6.4 [INFO] [stderr] Checking winit v0.19.5 [INFO] [stderr] Compiling skeptic v0.13.4 [INFO] [stderr] Checking glutin v0.20.1 [INFO] [stderr] Compiling ggez v0.5.1 [INFO] [stderr] Checking gfx_window_glutin v0.30.0 [INFO] [stderr] Checking rodio v0.9.0 [INFO] [stderr] Checking ggez-space-invaders v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::player::Player` [INFO] [stdout] --> src/enemies.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::player::Player; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/enemies.rs:105:46 [INFO] [stdout] | [INFO] [stdout] 105 | enemy.transform.x += (ENEMY_SPEED_X * row_dir); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ggez::graphics::mint::Point2` [INFO] [stdout] --> src/player.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use ggez::graphics::mint::Point2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mint` [INFO] [stdout] --> src/player.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use ggez::graphics::{mint, DrawParam, Image, Rect}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/player.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/player.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Enemy` [INFO] [stdout] --> src/projectile.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enemies::{Enemy, EnemySystem}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::misc::overlaps` [INFO] [stdout] --> src/projectile.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::misc::overlaps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Point2` [INFO] [stdout] --> src/projectile.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use ggez::mint::{Point2, Vector2}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/projectile.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `thread_rng` [INFO] [stdout] --> src/main.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ggez::graphics::spritebatch::SpriteBatch` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use ggez::graphics::spritebatch::SpriteBatch; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `DrawParam`, `Image`, `Mesh` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Color, DrawParam, Image, Mesh, Rect, Scale, Text, TextFragment, BLACK, WHITE, [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ggez::mint::Vector2` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use ggez::mint::Vector2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Enemy` [INFO] [stdout] --> src/main.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::enemies::{Enemy, EnemySystem}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Projectile` [INFO] [stdout] --> src/main.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::projectile::{Projectile, ProjectileSystem}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GAME_STATE` should have an upper camel case name [INFO] [stdout] --> src/main.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | enum GAME_STATE { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GameState` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/image_cache.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | return match self.images.get(path) { [INFO] [stdout] | __________^______- [INFO] [stdout] | | _________| [INFO] [stdout] | || [INFO] [stdout] 18 | || Some(image) => return Ok(image.clone()), [INFO] [stdout] 19 | || None => { [INFO] [stdout] 20 | || let image = Image::new(ctx, path)?; [INFO] [stdout] ... || [INFO] [stdout] 25 | || } [INFO] [stdout] 26 | || }; [INFO] [stdout] | || ^ [INFO] [stdout] | ||_________| [INFO] [stdout] | |__________unreachable expression [INFO] [stdout] | any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::player::Player` [INFO] [stdout] --> src/enemies.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::player::Player; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/enemies.rs:105:46 [INFO] [stdout] | [INFO] [stdout] 105 | enemy.transform.x += (ENEMY_SPEED_X * row_dir); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ggez::graphics::mint::Point2` [INFO] [stdout] --> src/player.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use ggez::graphics::mint::Point2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mint` [INFO] [stdout] --> src/player.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use ggez::graphics::{mint, DrawParam, Image, Rect}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/player.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/player.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Enemy` [INFO] [stdout] --> src/projectile.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::enemies::{Enemy, EnemySystem}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::misc::overlaps` [INFO] [stdout] --> src/projectile.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::misc::overlaps; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Point2` [INFO] [stdout] --> src/projectile.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use ggez::mint::{Point2, Vector2}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/projectile.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/main.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `thread_rng` [INFO] [stdout] --> src/main.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ggez::graphics::spritebatch::SpriteBatch` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use ggez::graphics::spritebatch::SpriteBatch; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `DrawParam`, `Image`, `Mesh` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | Color, DrawParam, Image, Mesh, Rect, Scale, Text, TextFragment, BLACK, WHITE, [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ggez::mint::Vector2` [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use ggez::mint::Vector2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Enemy` [INFO] [stdout] --> src/main.rs:27:22 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::enemies::{Enemy, EnemySystem}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Projectile` [INFO] [stdout] --> src/main.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::projectile::{Projectile, ProjectileSystem}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GAME_STATE` should have an upper camel case name [INFO] [stdout] --> src/main.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | enum GAME_STATE { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `GameState` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let mut game = Game { [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/player.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut dir_sign = match direction { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `ENEMY_LEFT_OFFSET` [INFO] [stdout] --> src/enemies.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | static ENEMY_LEFT_OFFSET: f32 = 100.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/enemies.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | id: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EnemyShot` [INFO] [stdout] --> src/projectile.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | EnemyShot, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `key_presses` [INFO] [stdout] --> src/main.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | key_presses: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `image_cache` [INFO] [stdout] --> src/main.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | image_cache: ImageCache, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/image_cache.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | return match self.images.get(path) { [INFO] [stdout] | __________^______- [INFO] [stdout] | | _________| [INFO] [stdout] | || [INFO] [stdout] 18 | || Some(image) => return Ok(image.clone()), [INFO] [stdout] 19 | || None => { [INFO] [stdout] 20 | || let image = Image::new(ctx, path)?; [INFO] [stdout] ... || [INFO] [stdout] 25 | || } [INFO] [stdout] 26 | || }; [INFO] [stdout] | || ^ [INFO] [stdout] | ||_________| [INFO] [stdout] | |__________unreachable expression [INFO] [stdout] | any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let mut game = Game { [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/player.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | let mut dir_sign = match direction { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `ENEMY_LEFT_OFFSET` [INFO] [stdout] --> src/enemies.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | static ENEMY_LEFT_OFFSET: f32 = 100.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `id` [INFO] [stdout] --> src/enemies.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | id: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `EnemyShot` [INFO] [stdout] --> src/projectile.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | EnemyShot, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `key_presses` [INFO] [stdout] --> src/main.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | key_presses: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `image_cache` [INFO] [stdout] --> src/main.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | image_cache: ImageCache, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | image_cache.image(ctx, "/images/enemy_explode.png"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | self.update_playing(ctx, dt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | image_cache.image(ctx, "/images/enemy_explode.png"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | self.update_playing(ctx, dt); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 29 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3m 30s [INFO] running `Command { std: "docker" "inspect" "92a9877ba9ea22fc6096e80a85c86d70da52f1073c8512b0e054fd70a20f319c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92a9877ba9ea22fc6096e80a85c86d70da52f1073c8512b0e054fd70a20f319c", kill_on_drop: false }` [INFO] [stdout] 92a9877ba9ea22fc6096e80a85c86d70da52f1073c8512b0e054fd70a20f319c