[INFO] updating cached repository picklenerd/LD42-running-out-of-space [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/picklenerd/LD42-running-out-of-space [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/picklenerd/LD42-running-out-of-space" "work/ex/clippy-test-run/sources/stable/gh/picklenerd/LD42-running-out-of-space"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/picklenerd/LD42-running-out-of-space'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/picklenerd/LD42-running-out-of-space" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/LD42-running-out-of-space"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/LD42-running-out-of-space'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 04321cc9adf5defcde9eaf8640e8fe69dd844157 [INFO] sha for GitHub repo picklenerd/LD42-running-out-of-space: 04321cc9adf5defcde9eaf8640e8fe69dd844157 [INFO] validating manifest of picklenerd/LD42-running-out-of-space on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of picklenerd/LD42-running-out-of-space on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing picklenerd/LD42-running-out-of-space [INFO] finished frobbing picklenerd/LD42-running-out-of-space [INFO] frobbed toml for picklenerd/LD42-running-out-of-space written to work/ex/clippy-test-run/sources/stable/gh/picklenerd/LD42-running-out-of-space/Cargo.toml [INFO] started frobbing picklenerd/LD42-running-out-of-space [INFO] finished frobbing picklenerd/LD42-running-out-of-space [INFO] frobbed toml for picklenerd/LD42-running-out-of-space written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/LD42-running-out-of-space/Cargo.toml [INFO] crate picklenerd/LD42-running-out-of-space has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting picklenerd/LD42-running-out-of-space against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/picklenerd/LD42-running-out-of-space:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6501f9a3b2f088c8db4908ec5d391c339cfbccc8b61dcad7b08e7e0050678103 [INFO] running `"docker" "start" "-a" "6501f9a3b2f088c8db4908ec5d391c339cfbccc8b61dcad7b08e7e0050678103"` [INFO] [stderr] Compiling stdweb v0.4.8 [INFO] [stderr] Checking discard v1.0.3 [INFO] [stderr] Checking recs v2.0.1 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Compiling serde v1.0.71 [INFO] [stderr] Compiling syn v0.12.15 [INFO] [stderr] Compiling serde_derive v1.0.71 [INFO] [stderr] Compiling stdweb-derive v0.4.0 [INFO] [stderr] Checking ld42 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:3:35 [INFO] [stderr] | [INFO] [stderr] 3 | pub const BACKGROUND_COLOR: u32 = 0xCCCCCC; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00CC_CCCC` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | pub const PLAYER_COLOR: u32 = 0x000000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:13:30 [INFO] [stderr] | [INFO] [stderr] 13 | pub const ENEMY_COLOR: u32 = 0xFF0000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:24:35 [INFO] [stderr] | [INFO] [stderr] 24 | pub const PROJECTILE_COLOR: u32 = 0x00AAFF; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_AAFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | pub const ICE_BLOCK_COLOR: u32 = 0x00AAFF; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_AAFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/components/colliders.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | return (x_diff.signum(), 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(x_diff.signum(), 0.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/components/colliders.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | return (0.0, y_diff.signum()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(0.0, y_diff.signum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:3:35 [INFO] [stderr] | [INFO] [stderr] 3 | pub const BACKGROUND_COLOR: u32 = 0xCCCCCC; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00CC_CCCC` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | pub const PLAYER_COLOR: u32 = 0x000000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:13:30 [INFO] [stderr] | [INFO] [stderr] 13 | pub const ENEMY_COLOR: u32 = 0xFF0000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:24:35 [INFO] [stderr] | [INFO] [stderr] 24 | pub const PROJECTILE_COLOR: u32 = 0x00AAFF; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_AAFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/constants.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | pub const ICE_BLOCK_COLOR: u32 = 0x00AAFF; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_AAFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/components/colliders.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | return (x_diff.signum(), 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(x_diff.signum(), 0.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/components/colliders.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | return (0.0, y_diff.signum()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(0.0, y_diff.signum())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/systems/mod.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | fn init(&mut self, state: &mut GameState) {} [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/systems/mod.rs:13:24 [INFO] [stderr] | [INFO] [stderr] 13 | fn init(&mut self, state: &mut GameState) {} [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pixi::graphics::Graphics` [INFO] [stderr] --> src/pixi/graphics.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | let graphics = js! { [INFO] [stderr] 26 | | return new PIXI.Graphics(); [INFO] [stderr] 27 | | }; [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for pixi::graphics::Graphics { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `input::Input` [INFO] [stderr] --> src/input.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> Self { [INFO] [stderr] 13 | | let keyboard = js! { [INFO] [stderr] 14 | | return new Input(); [INFO] [stderr] 15 | | }; [INFO] [stderr] ... | [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 11 | impl Default for input::Input { [INFO] [stderr] 12 | fn default() -> Self { [INFO] [stderr] 13 | Self::new() [INFO] [stderr] 14 | } [INFO] [stderr] 15 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `game::Game` [INFO] [stderr] --> src/game.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | let mut systems: Vec> = Vec::new(); [INFO] [stderr] 26 | | systems.push(Box::new(ControlSystem::new())); [INFO] [stderr] 27 | | systems.push(Box::new(PlayerSystem)); [INFO] [stderr] ... | [INFO] [stderr] 38 | | } [INFO] [stderr] 39 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for game::Game { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `game::GameState` [INFO] [stderr] --> src/game.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | / pub fn new() -> Self { [INFO] [stderr] 67 | | let body = document().body().unwrap(); [INFO] [stderr] 68 | | let div = document().create_element("div").unwrap(); [INFO] [stderr] 69 | | div.set_attribute("id", "game").unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 81 | | } [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 65 | impl Default for game::GameState { [INFO] [stderr] 66 | fn default() -> Self { [INFO] [stderr] 67 | Self::new() [INFO] [stderr] 68 | } [INFO] [stderr] 69 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/components/colliders.rs:12:55 [INFO] [stderr] | [INFO] [stderr] 12 | self.position.distance_to(&other.position) <= (self.radius + other.radius) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.radius + other.radius)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/movement.rs:15:35 [INFO] [stderr] | [INFO] [stderr] 15 | state.ecs().collect_with(&component_filter!(Position, Velocity), &mut ids); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/movement.rs:29:46 [INFO] [stderr] | [INFO] [stderr] 29 | x: clamp(pos.x + vel.x, 0.0, constants::SCREEN_WIDTH as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_WIDTH)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/movement.rs:30:46 [INFO] [stderr] | [INFO] [stderr] 30 | y: clamp(pos.y + vel.y, 0.0, constants::SCREEN_HEIGHT as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_HEIGHT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/rendering.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | let filter = component_filter!(Position, Renderer); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `systems::controls::ControlSystem` [INFO] [stderr] --> src/systems/controls.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Self { [INFO] [stderr] 21 | | let input = Input::new(); [INFO] [stderr] 22 | | [INFO] [stderr] 23 | | // Keyboard controls [INFO] [stderr] ... | [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | impl Default for systems::controls::ControlSystem { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/controls.rs:45:26 [INFO] [stderr] | [INFO] [stderr] 45 | let filter = component_filter!(Player, Position); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/controls.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | sprite.set_square_size(constants::PROJECTILE_SIZE as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::PROJECTILE_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/controls.rs:81:22 [INFO] [stderr] | [INFO] [stderr] 81 | let filter = component_filter!(KeyboardControls, Velocity); [INFO] [stderr] | --------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/controls.rs:113:22 [INFO] [stderr] | [INFO] [stderr] 113 | let filter = component_filter!(Player); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/player.rs:16:32 [INFO] [stderr] | [INFO] [stderr] 16 | sprite.set_square_size(constants::PLAYER_SIZE as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::PLAYER_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `systems::enemy::EnemySystem` [INFO] [stderr] --> src/systems/enemy.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> Self { [INFO] [stderr] 27 | | Self { [INFO] [stderr] 28 | | rng: OsRng::new().unwrap(), [INFO] [stderr] 29 | | last_spawn_time: 0.0, [INFO] [stderr] 30 | | current_level: 1, [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 25 | impl Default for systems::enemy::EnemySystem { [INFO] [stderr] 26 | fn default() -> Self { [INFO] [stderr] 27 | Self::new() [INFO] [stderr] 28 | } [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/enemy.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | sprite.set_square_size(constants::ENEMY_SIZE as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::ENEMY_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/enemy.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | Position{x: x as f64, y: y as f64} [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/enemy.rs:56:34 [INFO] [stderr] | [INFO] [stderr] 56 | Position{x: x as f64, y: y as f64} [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/enemy.rs:63:22 [INFO] [stderr] | [INFO] [stderr] 63 | let filter = component_filter!(Position, Velocity, Enemy); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/enemy.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | let filter = component_filter!(Position, Player); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/health.rs:16:35 [INFO] [stderr] | [INFO] [stderr] 16 | state.ecs().collect_with(&component_filter!(Enemy, Collider), &mut enemy_ids); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/health.rs:19:35 [INFO] [stderr] | [INFO] [stderr] 19 | state.ecs().collect_with(&component_filter!(Player, Collider), &mut player_ids); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/projectile.rs:41:35 [INFO] [stderr] | [INFO] [stderr] 41 | state.ecs().collect_with(&component_filter!(Projectile), &mut projectile_ids); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/projectile.rs:44:35 [INFO] [stderr] | [INFO] [stderr] 44 | state.ecs().collect_with(&component_filter!(IceBlock), &mut blocker_ids); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/projectile.rs:46:35 [INFO] [stderr] | [INFO] [stderr] 46 | state.ecs().collect_with(&component_filter!(Enemy), &mut enemy_ids); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/projectile.rs:52:51 [INFO] [stderr] | [INFO] [stderr] 52 | if position.x <= 0.0 || position.x >= constants::SCREEN_WIDTH as f64 || position.y <= 0.0 || position.y >= constants::SCREEN_HEIGHT as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_WIDTH)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/projectile.rs:52:120 [INFO] [stderr] | [INFO] [stderr] 52 | if position.x <= 0.0 || position.x >= constants::SCREEN_WIDTH as f64 || position.y <= 0.0 || position.y >= constants::SCREEN_HEIGHT as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_HEIGHT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/slow.rs:14:35 [INFO] [stderr] | [INFO] [stderr] 14 | state.ecs().collect_with(&component_filter!(Slowable, Collider), &mut ids); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/slow.rs:17:35 [INFO] [stderr] | [INFO] [stderr] 17 | state.ecs().collect_with(&component_filter!(IceBlock, Collider), &mut ice_ids); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | div.set_attribute("id", "menu"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | document().body().unwrap().remove_child(&menu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | div.set_attribute("id", "menu"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pixi::graphics::Graphics` [INFO] [stderr] --> src/pixi/graphics.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | let graphics = js! { [INFO] [stderr] 26 | | return new PIXI.Graphics(); [INFO] [stderr] 27 | | }; [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for pixi::graphics::Graphics { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `input::Input` [INFO] [stderr] --> src/input.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> Self { [INFO] [stderr] 13 | | let keyboard = js! { [INFO] [stderr] 14 | | return new Input(); [INFO] [stderr] 15 | | }; [INFO] [stderr] ... | [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 11 | impl Default for input::Input { [INFO] [stderr] 12 | fn default() -> Self { [INFO] [stderr] 13 | Self::new() [INFO] [stderr] 14 | } [INFO] [stderr] 15 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `game::Game` [INFO] [stderr] --> src/game.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | let mut systems: Vec> = Vec::new(); [INFO] [stderr] 26 | | systems.push(Box::new(ControlSystem::new())); [INFO] [stderr] 27 | | systems.push(Box::new(PlayerSystem)); [INFO] [stderr] ... | [INFO] [stderr] 38 | | } [INFO] [stderr] 39 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for game::Game { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `game::GameState` [INFO] [stderr] --> src/game.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | / pub fn new() -> Self { [INFO] [stderr] 67 | | let body = document().body().unwrap(); [INFO] [stderr] 68 | | let div = document().create_element("div").unwrap(); [INFO] [stderr] 69 | | div.set_attribute("id", "game").unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 81 | | } [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 65 | impl Default for game::GameState { [INFO] [stderr] 66 | fn default() -> Self { [INFO] [stderr] 67 | Self::new() [INFO] [stderr] 68 | } [INFO] [stderr] 69 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/components/colliders.rs:12:55 [INFO] [stderr] | [INFO] [stderr] 12 | self.position.distance_to(&other.position) <= (self.radius + other.radius) as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.radius + other.radius)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/movement.rs:15:35 [INFO] [stderr] | [INFO] [stderr] 15 | state.ecs().collect_with(&component_filter!(Position, Velocity), &mut ids); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/movement.rs:29:46 [INFO] [stderr] | [INFO] [stderr] 29 | x: clamp(pos.x + vel.x, 0.0, constants::SCREEN_WIDTH as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_WIDTH)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/movement.rs:30:46 [INFO] [stderr] | [INFO] [stderr] 30 | y: clamp(pos.y + vel.y, 0.0, constants::SCREEN_HEIGHT as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_HEIGHT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/rendering.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | let filter = component_filter!(Position, Renderer); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `systems::controls::ControlSystem` [INFO] [stderr] --> src/systems/controls.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> Self { [INFO] [stderr] 21 | | let input = Input::new(); [INFO] [stderr] 22 | | [INFO] [stderr] 23 | | // Keyboard controls [INFO] [stderr] ... | [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | impl Default for systems::controls::ControlSystem { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/controls.rs:45:26 [INFO] [stderr] | [INFO] [stderr] 45 | let filter = component_filter!(Player, Position); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/controls.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | sprite.set_square_size(constants::PROJECTILE_SIZE as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::PROJECTILE_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/controls.rs:81:22 [INFO] [stderr] | [INFO] [stderr] 81 | let filter = component_filter!(KeyboardControls, Velocity); [INFO] [stderr] | --------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/controls.rs:113:22 [INFO] [stderr] | [INFO] [stderr] 113 | let filter = component_filter!(Player); [INFO] [stderr] | ------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/player.rs:16:32 [INFO] [stderr] | [INFO] [stderr] 16 | sprite.set_square_size(constants::PLAYER_SIZE as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::PLAYER_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `systems::enemy::EnemySystem` [INFO] [stderr] --> src/systems/enemy.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> Self { [INFO] [stderr] 27 | | Self { [INFO] [stderr] 28 | | rng: OsRng::new().unwrap(), [INFO] [stderr] 29 | | last_spawn_time: 0.0, [INFO] [stderr] 30 | | current_level: 1, [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 25 | impl Default for systems::enemy::EnemySystem { [INFO] [stderr] 26 | fn default() -> Self { [INFO] [stderr] 27 | Self::new() [INFO] [stderr] 28 | } [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/enemy.rs:36:32 [INFO] [stderr] | [INFO] [stderr] 36 | sprite.set_square_size(constants::ENEMY_SIZE as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::ENEMY_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/enemy.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | Position{x: x as f64, y: y as f64} [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/enemy.rs:56:34 [INFO] [stderr] | [INFO] [stderr] 56 | Position{x: x as f64, y: y as f64} [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/enemy.rs:63:22 [INFO] [stderr] | [INFO] [stderr] 63 | let filter = component_filter!(Position, Velocity, Enemy); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/enemy.rs:75:22 [INFO] [stderr] | [INFO] [stderr] 75 | let filter = component_filter!(Position, Player); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/health.rs:16:35 [INFO] [stderr] | [INFO] [stderr] 16 | state.ecs().collect_with(&component_filter!(Enemy, Collider), &mut enemy_ids); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/health.rs:19:35 [INFO] [stderr] | [INFO] [stderr] 19 | state.ecs().collect_with(&component_filter!(Player, Collider), &mut player_ids); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/projectile.rs:41:35 [INFO] [stderr] | [INFO] [stderr] 41 | state.ecs().collect_with(&component_filter!(Projectile), &mut projectile_ids); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/projectile.rs:44:35 [INFO] [stderr] | [INFO] [stderr] 44 | state.ecs().collect_with(&component_filter!(IceBlock), &mut blocker_ids); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/projectile.rs:46:35 [INFO] [stderr] | [INFO] [stderr] 46 | state.ecs().collect_with(&component_filter!(Enemy), &mut enemy_ids); [INFO] [stderr] | ------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/projectile.rs:52:51 [INFO] [stderr] | [INFO] [stderr] 52 | if position.x <= 0.0 || position.x >= constants::SCREEN_WIDTH as f64 || position.y <= 0.0 || position.y >= constants::SCREEN_HEIGHT as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_WIDTH)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/systems/projectile.rs:52:120 [INFO] [stderr] | [INFO] [stderr] 52 | if position.x <= 0.0 || position.x >= constants::SCREEN_WIDTH as f64 || position.y <= 0.0 || position.y >= constants::SCREEN_HEIGHT as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(constants::SCREEN_HEIGHT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/slow.rs:14:35 [INFO] [stderr] | [INFO] [stderr] 14 | state.ecs().collect_with(&component_filter!(Slowable, Collider), &mut ids); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/utils.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | &vec![$(::std::any::TypeId::of::<$x>()),*] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[::std::any::TypeId::of::<$x>()]` [INFO] [stderr] | [INFO] [stderr] ::: src/systems/slow.rs:17:35 [INFO] [stderr] | [INFO] [stderr] 17 | state.ecs().collect_with(&component_filter!(IceBlock, Collider), &mut ice_ids); [INFO] [stderr] | ------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | div.set_attribute("id", "menu"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | document().body().unwrap().remove_child(&menu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | div.set_attribute("id", "menu"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 51.44s [INFO] running `"docker" "inspect" "6501f9a3b2f088c8db4908ec5d391c339cfbccc8b61dcad7b08e7e0050678103"` [INFO] running `"docker" "rm" "-f" "6501f9a3b2f088c8db4908ec5d391c339cfbccc8b61dcad7b08e7e0050678103"` [INFO] [stdout] 6501f9a3b2f088c8db4908ec5d391c339cfbccc8b61dcad7b08e7e0050678103