[INFO] cloning repository https://github.com/seruwin/render_battleship [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seruwin/render_battleship" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseruwin%2Frender_battleship", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseruwin%2Frender_battleship'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ab9ec7ab804d4438cc8b91206667c576883b2bf8 [INFO] linting seruwin/render_battleship against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseruwin%2Frender_battleship" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/seruwin/render_battleship [INFO] finished tweaking git repo https://github.com/seruwin/render_battleship [INFO] tweaked toml for git repo https://github.com/seruwin/render_battleship written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/seruwin/render_battleship on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/seruwin/render_battleship 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-3-tc1/source/Cargo.toml: unused manifest key: workspace.dependencies.chrono.disable-defaults [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/iced-rs/winit.git` [INFO] [stderr] Updating git repository `https://github.com/iced-rs/iced_aw.git` [INFO] [stderr] Updating git repository `https://github.com/iced-rs/iced.git` [INFO] [stderr] Updating git repository `https://github.com/grovesNL/glyphon.git` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded gpu-allocator v0.23.0 [INFO] [stderr] Downloaded smallvec v1.12.0 [INFO] [stderr] Downloaded wgpu-types v0.18.0 [INFO] [stderr] Downloaded profiling v1.0.13 [INFO] [stderr] Downloaded unicode-bidi-mirroring v0.1.0 [INFO] [stderr] Downloaded generational_array v0.1.1 [INFO] [stderr] Downloaded self_cell v1.0.3 [INFO] [stderr] Downloaded palette_derive v0.7.3 [INFO] [stderr] Downloaded crevice-derive v0.10.0 [INFO] [stderr] Downloaded lyon v1.0.1 [INFO] [stderr] Downloaded unicode-ccc v0.1.2 [INFO] [stderr] Downloaded ritehash v0.2.0 [INFO] [stderr] Downloaded crevice v0.14.0 [INFO] [stderr] Downloaded safe-transmute v0.11.2 [INFO] [stderr] Downloaded wayland-scanner v0.30.1 [INFO] [stderr] Downloaded wayland-backend v0.1.2 [INFO] [stderr] Downloaded hecs v0.10.4 [INFO] [stderr] Downloaded wgpu v0.18.0 [INFO] [stderr] Downloaded fontdb v0.15.0 [INFO] [stderr] Downloaded glow v0.13.0 [INFO] [stderr] Downloaded quick-xml v0.28.2 [INFO] [stderr] Downloaded ttf-parser v0.19.2 [INFO] [stderr] Downloaded x11rb v0.11.1 [INFO] [stderr] Downloaded rustybuzz v0.11.0 [INFO] [stderr] Downloaded palette v0.7.3 [INFO] [stderr] Downloaded exr v1.6.4 [INFO] [stderr] Downloaded wgpu-core v0.18.1 [INFO] [stderr] Downloaded swash v0.1.8 [INFO] [stderr] Downloaded wgpu-hal v0.18.1 [INFO] [stderr] Downloaded tiny-skia v0.11.3 [INFO] [stderr] Downloaded lyon_tessellation v1.0.13 [INFO] [stderr] Downloaded wayland-client v0.30.2 [INFO] [stderr] Downloaded zeno v0.2.3 [INFO] [stderr] Downloaded half v2.3.1 [INFO] [stderr] Downloaded lyon_geom v1.0.5 [INFO] [stderr] Downloaded softbuffer v0.2.1 [INFO] [stderr] Downloaded tiny-skia-path v0.11.3 [INFO] [stderr] Downloaded x11rb-protocol v0.11.1 [INFO] [stderr] Downloaded fontconfig-parser v0.5.3 [INFO] [stderr] Downloaded naga v0.14.2 [INFO] [stderr] Downloaded rangemap v1.4.0 [INFO] [stderr] Downloaded unicode-properties v0.1.0 [INFO] [stderr] Downloaded lyon_algorithms v1.0.4 [INFO] [stderr] Downloaded lyon_path v1.0.4 [INFO] [stderr] Downloaded etagere v0.2.10 [INFO] [stderr] Downloaded roxmltree v0.18.1 [INFO] [stderr] Downloaded x11rb v0.9.0 [INFO] [stderr] Downloaded xxhash-rust v0.8.8 [INFO] [stderr] Downloaded yazi v0.1.6 [INFO] [stderr] Downloaded clipboard_macos v0.1.0 [INFO] [stderr] Downloaded clipboard_x11 v0.4.0 [INFO] [stderr] Downloaded sys-locale v0.3.1 [INFO] [stderr] Downloaded clipboard_wayland v0.2.0 [INFO] [stderr] Downloaded window_clipboard v0.3.0 [INFO] [stderr] Downloaded cosmic-text v0.10.0 [INFO] [stderr] Downloaded ubits v0.3.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 871b9ccce65963b3d3ad9ad7390a91862a4d1d012b65a03e7c1d499668eb10d3 [INFO] running `Command { std: "docker" "start" "-a" "871b9ccce65963b3d3ad9ad7390a91862a4d1d012b65a03e7c1d499668eb10d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "871b9ccce65963b3d3ad9ad7390a91862a4d1d012b65a03e7c1d499668eb10d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "871b9ccce65963b3d3ad9ad7390a91862a4d1d012b65a03e7c1d499668eb10d3", kill_on_drop: false }` [INFO] [stdout] 871b9ccce65963b3d3ad9ad7390a91862a4d1d012b65a03e7c1d499668eb10d3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f976cc6db4f3a72eee4cb36dd53fa5e10806d04844913a59cf9d02446f7a635d [INFO] running `Command { std: "docker" "start" "-a" "f976cc6db4f3a72eee4cb36dd53fa5e10806d04844913a59cf9d02446f7a635d", kill_on_drop: false }` [INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.dependencies.chrono.disable-defaults [INFO] [stderr] Compiling proc-macro2 v1.0.76 [INFO] [stderr] Compiling libc v0.2.152 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Checking smallvec v1.12.0 [INFO] [stderr] Compiling pkg-config v0.3.28 [INFO] [stderr] Compiling xml-rs v0.8.19 [INFO] [stderr] Compiling thiserror v1.0.56 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling ahash v0.8.7 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Checking zerocopy v0.7.32 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking ttf-parser v0.20.0 [INFO] [stderr] Checking fdeflate v0.3.3 [INFO] [stderr] Compiling serde v1.0.195 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking xcursor v0.3.5 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking png v0.17.11 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking gpu-descriptor-types v0.1.2 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking either v1.9.0 [INFO] [stderr] Checking mint v0.5.9 [INFO] [stderr] Checking xmlparser v0.13.6 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling smithay-client-toolkit v0.16.1 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking wgpu-types v0.18.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Checking indexmap v2.1.0 [INFO] [stderr] Checking gpu-descriptor v0.2.4 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking roxmltree v0.18.1 [INFO] [stderr] Checking glow v0.13.0 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking profiling v1.0.13 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking half v2.3.1 [INFO] [stderr] Checking unicode-bidi-mirroring v0.1.0 [INFO] [stderr] Checking zeno v0.2.3 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking fontconfig-parser v0.5.3 [INFO] [stderr] Checking unicode-properties v0.1.0 [INFO] [stderr] Checking unicode-ccc v0.1.2 [INFO] [stderr] Checking ttf-parser v0.19.2 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking euclid v0.22.9 [INFO] [stderr] Checking owned_ttf_parser v0.20.0 [INFO] [stderr] Checking spirv v0.2.0+1.5.4 [INFO] [stderr] Checking ab_glyph v0.2.23 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking yazi v0.1.6 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Compiling async-trait v0.1.77 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking gif v0.12.0 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking nix v0.25.1 [INFO] [stderr] Checking nanorand v0.7.0 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking lyon_geom v1.0.5 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Compiling backtrace v0.3.69 [INFO] [stderr] Checking memmap2 v0.8.0 [INFO] [stderr] Checking swash v0.1.8 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Compiling winit v0.28.6 (https://github.com/iced-rs/winit.git?rev=c52db2045d0a2f1b8d9923870de1d4ab1994146e#c52db204) [INFO] [stderr] Checking socket2 v0.5.5 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking lyon_path v1.0.4 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking rustc-demangle v0.1.23 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Checking lyon_tessellation v1.0.13 [INFO] [stderr] Checking lyon_algorithms v1.0.4 [INFO] [stderr] Checking sys-locale v0.3.1 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking rangemap v1.4.0 [INFO] [stderr] Checking iana-time-zone v0.1.59 [INFO] [stderr] Checking svg_fmt v0.4.1 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking self_cell v1.0.3 [INFO] [stderr] Checking fontdb v0.15.0 [INFO] [stderr] Checking unicode-bidi v0.3.14 [INFO] [stderr] Checking guillotiere v0.6.2 [INFO] [stderr] Checking lyon v1.0.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking lru v0.11.1 [INFO] [stderr] Checking ritehash v0.2.0 [INFO] [stderr] Checking generational_array v0.1.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking safe-transmute v0.11.2 [INFO] [stderr] Checking hecs v0.10.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling crevice-derive v0.10.0 [INFO] [stderr] Checking ubits v0.3.1 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Compiling bytemuck_derive v1.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.56 [INFO] [stderr] Compiling serde_derive v1.0.195 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking tokio v1.35.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Checking calloop v0.10.6 [INFO] [stderr] Checking naga v0.14.2 [INFO] [stderr] Checking tiny-skia-path v0.8.4 [INFO] [stderr] Checking glam v0.24.2 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking rustybuzz v0.11.0 [INFO] [stderr] Checking crevice v0.14.0 [INFO] [stderr] Checking pin-project v1.1.3 [INFO] [stderr] Checking flume v0.10.14 [INFO] [stderr] Checking exr v1.6.4 [INFO] [stderr] Checking tiny-skia v0.8.4 [INFO] [stderr] Checking cosmic-text v0.10.0 [INFO] [stderr] Checking ascending_camera v0.1.0 (/opt/rustwide/workdir/camera) [INFO] [stderr] Checking image v0.24.8 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking ordered-float v3.9.2 [INFO] [stderr] Checking chrono v0.4.31 [INFO] [stderr] Checking wgpu-hal v0.18.1 [INFO] [stderr] Checking wgpu-core v0.18.1 [INFO] [stderr] Checking wgpu v0.18.0 [INFO] [stderr] Checking sctk-adwaita v0.5.4 [INFO] [stderr] Checking ascending_input v0.1.0 (/opt/rustwide/workdir/input) [INFO] [stderr] Checking ascending_graphics v0.1.0 (/opt/rustwide/workdir/graphics) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/font/vertex.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TextVertex { [INFO] [stdout] | ^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/font/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct TextVertex { [INFO] [stdout] 7 | | pub position: [f32; 3], [INFO] [stdout] ... | [INFO] [stdout] 13 | | pub is_color: u32, [INFO] [stdout] 14 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/images/vertex.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ImageVertex { [INFO] [stdout] | ^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/images/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct ImageVertex { [INFO] [stdout] 7 | | pub position: [f32; 3], [INFO] [stdout] ... | [INFO] [stdout] 15 | | pub layer: i32, [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/lights/uniforms.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AreaLightRaw { [INFO] [stdout] | ^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/lights/uniforms.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct AreaLightRaw { [INFO] [stdout] 7 | | pub pos: [f32; 2], [INFO] [stdout] ... | [INFO] [stdout] 12 | | pub animate: u32, [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/lights/uniforms.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DirectionalLightRaw { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/lights/uniforms.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / #[repr(C)] [INFO] [stdout] 16 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 17 | | pub struct DirectionalLightRaw { [INFO] [stdout] 18 | | pub pos: [f32; 2], [INFO] [stdout] ... | [INFO] [stdout] 27 | | pub animate: u32, [INFO] [stdout] 28 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/lights/vertex.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LightsVertex { [INFO] [stdout] | ^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/lights/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct LightsVertex { [INFO] [stdout] 7 | | pub world_color: [f32; 4], [INFO] [stdout] ... | [INFO] [stdout] 10 | | pub area_count: u32, [INFO] [stdout] 11 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/maps/vertex.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MapVertex { [INFO] [stdout] | ^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/maps/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | /// 4 of these per each layer. [INFO] [stdout] 7 | | pub struct MapVertex { [INFO] [stdout] ... | [INFO] [stdout] 12 | | pub color: u32, [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/mesh2d/vertex.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Mesh2DVertex { [INFO] [stdout] | ^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/mesh2d/vertex.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / #[repr(C)] [INFO] [stdout] 7 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 8 | | pub struct Mesh2DVertex { [INFO] [stdout] 9 | | pub position: [f32; 3], [INFO] [stdout] 10 | | pub color: u32, [INFO] [stdout] 11 | | pub camera: u32, [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / #[repr(C)] [INFO] [stdout] 7 | | #[derive(Clone, Copy, Zeroable, Pod)] [INFO] [stdout] 8 | | pub struct Vertex { [INFO] [stdout] 9 | | _position: [f32; 2], [INFO] [stdout] 10 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/font/vertex.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TextVertex { [INFO] [stdout] | ^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/font/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct TextVertex { [INFO] [stdout] 7 | | pub position: [f32; 3], [INFO] [stdout] ... | [INFO] [stdout] 13 | | pub is_color: u32, [INFO] [stdout] 14 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/images/vertex.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ImageVertex { [INFO] [stdout] | ^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/images/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct ImageVertex { [INFO] [stdout] 7 | | pub position: [f32; 3], [INFO] [stdout] ... | [INFO] [stdout] 15 | | pub layer: i32, [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/lights/uniforms.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct AreaLightRaw { [INFO] [stdout] | ^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/lights/uniforms.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct AreaLightRaw { [INFO] [stdout] 7 | | pub pos: [f32; 2], [INFO] [stdout] ... | [INFO] [stdout] 12 | | pub animate: u32, [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/lights/uniforms.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DirectionalLightRaw { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/lights/uniforms.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / #[repr(C)] [INFO] [stdout] 16 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 17 | | pub struct DirectionalLightRaw { [INFO] [stdout] 18 | | pub pos: [f32; 2], [INFO] [stdout] ... | [INFO] [stdout] 27 | | pub animate: u32, [INFO] [stdout] 28 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/lights/vertex.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct LightsVertex { [INFO] [stdout] | ^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/lights/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | pub struct LightsVertex { [INFO] [stdout] 7 | | pub world_color: [f32; 4], [INFO] [stdout] ... | [INFO] [stdout] 10 | | pub area_count: u32, [INFO] [stdout] 11 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/maps/vertex.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MapVertex { [INFO] [stdout] | ^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/maps/vertex.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / #[repr(C)] [INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 6 | | /// 4 of these per each layer. [INFO] [stdout] 7 | | pub struct MapVertex { [INFO] [stdout] ... | [INFO] [stdout] 12 | | pub color: u32, [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/mesh2d/vertex.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Mesh2DVertex { [INFO] [stdout] | ^^^^^^^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/mesh2d/vertex.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / #[repr(C)] [INFO] [stdout] 7 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)] [INFO] [stdout] 8 | | pub struct Mesh2DVertex { [INFO] [stdout] 9 | | pub position: [f32; 3], [INFO] [stdout] 10 | | pub color: u32, [INFO] [stdout] 11 | | pub camera: u32, [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / #[repr(C)] [INFO] [stdout] 7 | | #[derive(Clone, Copy, Zeroable, Pod)] [INFO] [stdout] 8 | | pub struct Vertex { [INFO] [stdout] 9 | | _position: [f32; 2], [INFO] [stdout] 10 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method chain can be written more clearly with `if .. else ..` [INFO] [stdout] --> graphics/src/font/text.rs:130:29 [INFO] [stdout] | [INFO] [stdout] 130 | let color = is_color [INFO] [stdout] | _____________________________^ [INFO] [stdout] 131 | | .then(|| Color::rgba(255, 255, 255, 255)) [INFO] [stdout] 132 | | .unwrap_or(match glyph.color_opt { [INFO] [stdout] 133 | | Some(color) => color, [INFO] [stdout] 134 | | None => self.default_color, [INFO] [stdout] 135 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#obfuscated_if_else [INFO] [stdout] = note: `#[warn(clippy::obfuscated_if_else)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 130 ~ let color = if is_color { Color::rgba(255, 255, 255, 255) } else { match glyph.color_opt { [INFO] [stdout] 131 + Some(color) => color, [INFO] [stdout] 132 + None => self.default_color, [INFO] [stdout] 133 ~ } }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/font/vertex.rs:45:45 [INFO] [stdout] | [INFO] [stdout] 45 | let instance_arr: Vec = iter::repeat(TextVertex::default()) [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 46 | | .take(vertex_capacity) [INFO] [stdout] | |__________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(TextVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this method chain can be written more clearly with `if .. else ..` [INFO] [stdout] --> graphics/src/font/text.rs:130:29 [INFO] [stdout] | [INFO] [stdout] 130 | let color = is_color [INFO] [stdout] | _____________________________^ [INFO] [stdout] 131 | | .then(|| Color::rgba(255, 255, 255, 255)) [INFO] [stdout] 132 | | .unwrap_or(match glyph.color_opt { [INFO] [stdout] 133 | | Some(color) => color, [INFO] [stdout] 134 | | None => self.default_color, [INFO] [stdout] 135 | | }); [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#obfuscated_if_else [INFO] [stdout] = note: `#[warn(clippy::obfuscated_if_else)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 130 ~ let color = if is_color { Color::rgba(255, 255, 255, 255) } else { match glyph.color_opt { [INFO] [stdout] 131 + Some(color) => color, [INFO] [stdout] 132 + None => self.default_color, [INFO] [stdout] 133 ~ } }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/images/vertex.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | / iter::repeat(ImageVertex::default()) [INFO] [stdout] 51 | | .take(vertex_capacity) [INFO] [stdout] | |______________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(ImageVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> graphics/src/lights.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod lights; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/lights/render.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | let area: Vec = iter::repeat(0u8) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 30 | | .take(MAX_AREA_LIGHTS * area_alignment) [INFO] [stdout] | |___________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(0u8, MAX_AREA_LIGHTS * area_alignment)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/lights/render.rs:42:29 [INFO] [stdout] | [INFO] [stdout] 42 | let dirs: Vec = iter::repeat(0u8) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 43 | | .take(MAX_DIR_LIGHTS * dir_alignment) [INFO] [stdout] | |_________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(0u8, MAX_DIR_LIGHTS * dir_alignment)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/font/vertex.rs:45:45 [INFO] [stdout] | [INFO] [stdout] 45 | let instance_arr: Vec = iter::repeat(TextVertex::default()) [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 46 | | .take(vertex_capacity) [INFO] [stdout] | |__________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(TextVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/images/vertex.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | / iter::repeat(ImageVertex::default()) [INFO] [stdout] 51 | | .take(vertex_capacity) [INFO] [stdout] | |______________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(ImageVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/lights/vertex.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | / iter::repeat(LightsVertex::default()) [INFO] [stdout] 40 | | .take(vertex_capacity) [INFO] [stdout] | |______________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(LightsVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> graphics/src/lights.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod lights; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/lights/render.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | let area: Vec = iter::repeat(0u8) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 30 | | .take(MAX_AREA_LIGHTS * area_alignment) [INFO] [stdout] | |___________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(0u8, MAX_AREA_LIGHTS * area_alignment)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/lights/render.rs:42:29 [INFO] [stdout] | [INFO] [stdout] 42 | let dirs: Vec = iter::repeat(0u8) [INFO] [stdout] | _____________________________^ [INFO] [stdout] 43 | | .take(MAX_DIR_LIGHTS * dir_alignment) [INFO] [stdout] | |_________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(0u8, MAX_DIR_LIGHTS * dir_alignment)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/maps/vertex.rs:42:44 [INFO] [stdout] | [INFO] [stdout] 42 | let instance_arr: Vec = iter::repeat(MapVertex::default()) [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 43 | | .take(vertex_capacity) [INFO] [stdout] | |__________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(MapVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/lights/vertex.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | / iter::repeat(LightsVertex::default()) [INFO] [stdout] 40 | | .take(vertex_capacity) [INFO] [stdout] | |______________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(LightsVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> graphics/src/mesh2d/meshs.rs:471:16 [INFO] [stdout] | [INFO] [stdout] 471 | if (triangles.len() % 3) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!triangles.len().is_multiple_of(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/mesh2d/vertex.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | let vbo_arr: Vec = iter::repeat(Mesh2DVertex::default()) [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 40 | | .take(vertex_capacity) [INFO] [stdout] | |__________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Mesh2DVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/maps/vertex.rs:42:44 [INFO] [stdout] | [INFO] [stdout] 42 | let instance_arr: Vec = iter::repeat(MapVertex::default()) [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 43 | | .take(vertex_capacity) [INFO] [stdout] | |__________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(MapVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> graphics/src/mesh2d/meshs.rs:471:16 [INFO] [stdout] | [INFO] [stdout] 471 | if (triangles.len() % 3) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!triangles.len().is_multiple_of(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> graphics/src/mesh2d/vertex.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | let vbo_arr: Vec = iter::repeat(Mesh2DVertex::default()) [INFO] [stdout] | __________________________________________^ [INFO] [stdout] 40 | | .take(vertex_capacity) [INFO] [stdout] | |__________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Mesh2DVertex::default(), vertex_capacity)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:110:30 [INFO] [stdout] | [INFO] [stdout] 110 | let mat_proj: Mat4 = proj.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `proj` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:111:30 [INFO] [stdout] | [INFO] [stdout] 111 | let mat_view: Mat4 = view.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `view` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:187:34 [INFO] [stdout] | [INFO] [stdout] 187 | let mat_proj: Mat4 = proj.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `proj` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let mat_view: Mat4 = view.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `view` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> graphics/src/textures/texture.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | Error::new(ErrorKind::Other, "could not convert name to String") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 39 - Error::new(ErrorKind::Other, "could not convert name to String") [INFO] [stdout] 39 + Error::other("could not convert name to String") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:110:30 [INFO] [stdout] | [INFO] [stdout] 110 | let mat_proj: Mat4 = proj.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `proj` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:111:30 [INFO] [stdout] | [INFO] [stdout] 111 | let mat_view: Mat4 = view.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `view` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Allocation` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/tilesheet.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | allocation: empty.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `empty` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:187:34 [INFO] [stdout] | [INFO] [stdout] 187 | let mat_proj: Mat4 = proj.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `proj` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `ColumnMatrix4` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/systems/system.rs:188:34 [INFO] [stdout] | [INFO] [stdout] 188 | let mat_view: Mat4 = view.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `view` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/buffer.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn buffer_slice(&self, range: Range) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn buffer_slice(&self, range: Range) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/instance_buffer.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn instances(&self, bounds: Option>) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 126 | pub fn instances(&self, bounds: Option>) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn indices(&self) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 88 | pub fn indices(&self) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:98:21 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn vertices(&self) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 98 | pub fn vertices(&self) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/vbo.rs:187:20 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn indices(&self, bounds: Option>) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 187 | pub fn indices(&self, bounds: Option>) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/vbo.rs:230:21 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn vertices(&self, bounds: Option>) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 230 | pub fn vertices(&self, bounds: Option>) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> graphics/src/textures/texture.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | Error::new(ErrorKind::Other, "could not convert name to String") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 39 - Error::new(ErrorKind::Other, "could not convert name to String") [INFO] [stdout] 39 + Error::other("could not convert name to String") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Allocation` which implements the `Copy` trait [INFO] [stdout] --> graphics/src/tilesheet.rs:92:33 [INFO] [stdout] | [INFO] [stdout] 92 | allocation: empty.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `empty` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/buffer.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn buffer_slice(&self, range: Range) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn buffer_slice(&self, range: Range) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/instance_buffer.rs:126:22 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn instances(&self, bounds: Option>) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 126 | pub fn instances(&self, bounds: Option>) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn indices(&self) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 88 | pub fn indices(&self) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/static_vbo.rs:98:21 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn vertices(&self) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 98 | pub fn vertices(&self) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/vbo.rs:187:20 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn indices(&self, bounds: Option>) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 187 | pub fn indices(&self, bounds: Option>) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> graphics/src/systems/vbo.rs:230:21 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn vertices(&self, bounds: Option>) -> wgpu::BufferSlice { [INFO] [stdout] | ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 230 | pub fn vertices(&self, bounds: Option>) -> wgpu::BufferSlice<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking game v0.1.0 (/opt/rustwide/workdir/game) [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> game/src/board/anim_icon.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / if self.in_play { [INFO] [stdout] 31 | | if self.elapsed_time + 0.07 <= seconds { [INFO] [stdout] 32 | | self.elapsed_time = seconds; [INFO] [stdout] 33 | | self.frame += 1; [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 30 ~ if self.in_play [INFO] [stdout] 31 ~ && self.elapsed_time + 0.07 <= seconds { [INFO] [stdout] 32 | self.elapsed_time = seconds; [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 4]` which implements the `Copy` trait [INFO] [stdout] --> game/src/board.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | result.size_count.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `result.size_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 4]` which implements the `Copy` trait [INFO] [stdout] --> game/src/board.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | result.size_count.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `result.size_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `ship_count` [INFO] [stdout] --> game/src/board.rs:201:18 [INFO] [stdout] | [INFO] [stdout] 201 | for y in 0..=3 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 201 - for y in 0..=3 { [INFO] [stdout] 201 + for (y, ) in ship_count.iter().enumerate().take(3 + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 4]` which implements the `Copy` trait [INFO] [stdout] --> game/src/board.rs:397:26 [INFO] [stdout] | [INFO] [stdout] 397 | let size_count = gameboard.size_count.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gameboard.size_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> game/src/board.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | / if let Some(location) = self.ship.iter().position(|ship| ship.index == index) { [INFO] [stdout] 403 | | Some(location) [INFO] [stdout] 404 | | } else { [INFO] [stdout] 405 | | None [INFO] [stdout] 406 | | } [INFO] [stdout] | |_________^ help: try: `self.ship.iter().position(|ship| ship.index == index).map(|location| location)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `boards` [INFO] [stdout] --> game/src/board.rs:488:14 [INFO] [stdout] | [INFO] [stdout] 488 | for i in 0..=boards.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 488 - for i in 0..=boards.len() { [INFO] [stdout] 488 + for (i, ) in boards.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `boards` [INFO] [stdout] --> game/src/main.rs:270:14 [INFO] [stdout] | [INFO] [stdout] 270 | for i in 0..=1 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 270 - for i in 0..=1 { [INFO] [stdout] 270 + for (i, ) in boards.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> game/src/board/anim_icon.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | / if self.in_play { [INFO] [stdout] 31 | | if self.elapsed_time + 0.07 <= seconds { [INFO] [stdout] 32 | | self.elapsed_time = seconds; [INFO] [stdout] 33 | | self.frame += 1; [INFO] [stdout] ... | [INFO] [stdout] 42 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 30 ~ if self.in_play [INFO] [stdout] 31 ~ && self.elapsed_time + 0.07 <= seconds { [INFO] [stdout] 32 | self.elapsed_time = seconds; [INFO] [stdout] ... [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> game/src/main.rs:390:20 [INFO] [stdout] | [INFO] [stdout] 390 | if !tile_pos.is_none() && !gameboard.got_winner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `tile_pos.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> game/src/main.rs:392:24 [INFO] [stdout] | [INFO] [stdout] 392 | if !board_data.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `board_data.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> game/src/main.rs:396:32 [INFO] [stdout] | [INFO] [stdout] 396 | ... if !hit_result.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `hit_result.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `board_data` after checking its variant with `is_none` [INFO] [stdout] --> game/src/main.rs:393:43 [INFO] [stdout] | [INFO] [stdout] 392 | if !board_data.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 393 | let board_index = board_data.unwrap() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `tile_pos` after checking its variant with `is_none` [INFO] [stdout] --> game/src/main.rs:395:77 [INFO] [stdout] | [INFO] [stdout] 390 | ... if !tile_pos.is_none() && !gameboard.got_winner { [INFO] [stdout] | ------------------ the check is happening here [INFO] [stdout] ... [INFO] [stdout] 395 | ... let hit_result = boards[board_index].hit_place(&tile_pos.unwrap(), &resource, &mut renderer, &mut animation, &mut... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `hit_result` after checking its variant with `is_none` [INFO] [stdout] --> game/src/main.rs:397:50 [INFO] [stdout] | [INFO] [stdout] 396 | ... if !hit_result.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 397 | ... let got_winner = hit_result.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 4]` which implements the `Copy` trait [INFO] [stdout] --> game/src/board.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | result.size_count.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `result.size_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 4]` which implements the `Copy` trait [INFO] [stdout] --> game/src/board.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | result.size_count.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `result.size_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is used to index `ship_count` [INFO] [stdout] --> game/src/board.rs:201:18 [INFO] [stdout] | [INFO] [stdout] 201 | for y in 0..=3 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 201 - for y in 0..=3 { [INFO] [stdout] 201 + for (y, ) in ship_count.iter().enumerate().take(3 + 1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[i32; 4]` which implements the `Copy` trait [INFO] [stdout] --> game/src/board.rs:397:26 [INFO] [stdout] | [INFO] [stdout] 397 | let size_count = gameboard.size_count.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `gameboard.size_count` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> game/src/board.rs:402:9 [INFO] [stdout] | [INFO] [stdout] 402 | / if let Some(location) = self.ship.iter().position(|ship| ship.index == index) { [INFO] [stdout] 403 | | Some(location) [INFO] [stdout] 404 | | } else { [INFO] [stdout] 405 | | None [INFO] [stdout] 406 | | } [INFO] [stdout] | |_________^ help: try: `self.ship.iter().position(|ship| ship.index == index).map(|location| location)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `boards` [INFO] [stdout] --> game/src/board.rs:488:14 [INFO] [stdout] | [INFO] [stdout] 488 | for i in 0..=boards.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 488 - for i in 0..=boards.len() { [INFO] [stdout] 488 + for (i, ) in boards.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `boards` [INFO] [stdout] --> game/src/main.rs:270:14 [INFO] [stdout] | [INFO] [stdout] 270 | for i in 0..=1 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 270 - for i in 0..=1 { [INFO] [stdout] 270 + for (i, ) in boards.iter_mut().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> game/src/main.rs:390:20 [INFO] [stdout] | [INFO] [stdout] 390 | if !tile_pos.is_none() && !gameboard.got_winner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `tile_pos.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> game/src/main.rs:392:24 [INFO] [stdout] | [INFO] [stdout] 392 | if !board_data.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `board_data.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> game/src/main.rs:396:32 [INFO] [stdout] | [INFO] [stdout] 396 | ... if !hit_result.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `hit_result.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `board_data` after checking its variant with `is_none` [INFO] [stdout] --> game/src/main.rs:393:43 [INFO] [stdout] | [INFO] [stdout] 392 | if !board_data.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 393 | let board_index = board_data.unwrap() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `tile_pos` after checking its variant with `is_none` [INFO] [stdout] --> game/src/main.rs:395:77 [INFO] [stdout] | [INFO] [stdout] 390 | ... if !tile_pos.is_none() && !gameboard.got_winner { [INFO] [stdout] | ------------------ the check is happening here [INFO] [stdout] ... [INFO] [stdout] 395 | ... let hit_result = boards[board_index].hit_place(&tile_pos.unwrap(), &resource, &mut renderer, &mut animation, &mut... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `hit_result` after checking its variant with `is_none` [INFO] [stdout] --> game/src/main.rs:397:50 [INFO] [stdout] | [INFO] [stdout] 396 | ... if !hit_result.is_none() { [INFO] [stdout] | -------------------- the check is happening here [INFO] [stdout] 397 | ... let got_winner = hit_result.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s [INFO] running `Command { std: "docker" "inspect" "f976cc6db4f3a72eee4cb36dd53fa5e10806d04844913a59cf9d02446f7a635d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f976cc6db4f3a72eee4cb36dd53fa5e10806d04844913a59cf9d02446f7a635d", kill_on_drop: false }` [INFO] [stdout] f976cc6db4f3a72eee4cb36dd53fa5e10806d04844913a59cf9d02446f7a635d