[INFO] cloning repository https://github.com/Ruddle/oxidator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ruddle/oxidator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddle%2Foxidator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddle%2Foxidator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ba77b3419a1c285fb6c63b2590bf138ce3ab661d [INFO] checking Ruddle/oxidator against master#568f6a8641e391ffcdcdb03e79d0901731d8d399 for pr-117164 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddle%2Foxidator" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Ruddle/oxidator on toolchain 568f6a8641e391ffcdcdb03e79d0901731d8d399 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Ruddle/oxidator [INFO] finished tweaking git repo https://github.com/Ruddle/oxidator [INFO] tweaked toml for git repo https://github.com/Ruddle/oxidator written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Ruddle/oxidator 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" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded typename_derive v0.1.4 [INFO] [stderr] Downloaded shaderc v0.6.1 [INFO] [stderr] Downloaded wgpu-native v0.4.3 [INFO] [stderr] Downloaded gfx-backend-empty v0.4.0 [INFO] [stderr] Downloaded backtrace v0.3.44 [INFO] [stderr] Downloaded base-62 v0.1.1 [INFO] [stderr] Downloaded rendy-memory v0.5.2 [INFO] [stderr] Downloaded winit v0.20.0-alpha4 [INFO] [stderr] Downloaded metal v0.17.1 [INFO] [stderr] Downloaded spirv_cross v0.16.0 [INFO] [stderr] Downloaded imgui-sys v0.2.0 [INFO] [stderr] Downloaded wgpu v0.4.0 [INFO] [stderr] Downloaded rendy-descriptor v0.5.1 [INFO] [stderr] Downloaded glsl-to-spirv v0.1.7 [INFO] [stderr] Downloaded zerocopy-derive v0.1.4 [INFO] [stderr] Downloaded obj-rs v0.5.0 [INFO] [stderr] Downloaded notify v5.0.0-pre.1 [INFO] [stderr] Downloaded gfx-backend-metal v0.4.3 [INFO] [stderr] Downloaded shaderc-sys v0.6.1 [INFO] [stderr] Downloaded typename v0.1.2 [INFO] [stderr] Downloaded zerocopy v0.2.8 [INFO] [stderr] Downloaded imgui v0.2.1 [INFO] [stderr] Downloaded storage-map v0.2.0 [INFO] [stderr] Downloaded gfx-hal v0.4.1 [INFO] [stderr] Downloaded d3d12 v0.3.0 [INFO] [stderr] Downloaded gfx-backend-dx11 v0.4.5 [INFO] [stderr] Downloaded imgui-winit-support v0.2.1 [INFO] [stderr] Downloaded alga v0.9.2 [INFO] [stderr] Downloaded spin_sleep v0.3.7 [INFO] [stderr] Downloaded gfx-backend-dx12 v0.4.3 [INFO] [stderr] Downloaded range-alloc v0.1.0 [INFO] [stderr] Downloaded gfx-backend-vulkan v0.4.2 [INFO] [stderr] Downloaded gfx-auxil v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6e0c24ed7d90f8b3bfe23c53186e7406540d34e473d9023866e0080b66e40c5d [INFO] running `Command { std: "docker" "start" "-a" "6e0c24ed7d90f8b3bfe23c53186e7406540d34e473d9023866e0080b66e40c5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6e0c24ed7d90f8b3bfe23c53186e7406540d34e473d9023866e0080b66e40c5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e0c24ed7d90f8b3bfe23c53186e7406540d34e473d9023866e0080b66e40c5d", kill_on_drop: false }` [INFO] [stdout] 6e0c24ed7d90f8b3bfe23c53186e7406540d34e473d9023866e0080b66e40c5d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ce56ef63991a3b736686c6935faca68ef5eacdb81d19b8bcf1eec61b2f43d5d5 [INFO] running `Command { std: "docker" "start" "-a" "ce56ef63991a3b736686c6935faca68ef5eacdb81d19b8bcf1eec61b2f43d5d5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.67 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling proc-macro2 v1.0.8 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling syn v1.0.15 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling xml-rs v0.8.0 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Checking adler32 v1.0.4 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Checking stb_truetype v0.3.1 [INFO] [stderr] Checking lock_api v0.3.3 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling rayon-core v1.7.0 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Compiling num-rational v0.2.3 [INFO] [stderr] Checking downcast-rs v1.1.1 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling wayland-scanner v0.23.6 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking gfx-hal v0.4.1 [INFO] [stderr] Checking num_cpus v1.12.0 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking mio v0.6.21 [INFO] [stderr] Checking crossbeam-queue v0.2.1 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Compiling imgui-sys v0.2.0 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Checking relevant v0.4.2 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking wayland-sys v0.23.6 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Checking rusttype v0.8.2 [INFO] [stderr] Compiling libm v0.1.4 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Checking atom v0.3.5 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking rayon v1.3.0 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Checking hibitset v0.6.3 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking ash v0.29.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking inflate v0.3.4 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Checking colorful v0.2.1 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking backtrace v0.3.44 [INFO] [stderr] Checking aho-corasick v0.7.8 [INFO] [stderr] Checking parking_lot v0.4.8 [INFO] [stderr] Compiling wayland-client v0.23.6 [INFO] [stderr] Compiling wayland-protocols v0.23.6 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking rendy-memory v0.5.2 [INFO] [stderr] Checking rendy-descriptor v0.5.1 [INFO] [stderr] Checking gfx-backend-empty v0.4.0 [INFO] [stderr] Checking inotify-sys v0.1.3 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking copyless v0.1.4 [INFO] [stderr] Checking regex-syntax v0.6.14 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking instant v0.1.2 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking matrixmultiply v0.2.3 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking wayland-commons v0.23.6 [INFO] [stderr] Checking calloop v0.4.4 [INFO] [stderr] Checking jpeg-decoder v0.1.18 [INFO] [stderr] Checking rand_distr v0.2.2 [INFO] [stderr] Checking generic-array v0.13.2 [INFO] [stderr] Checking inotify v0.7.0 [INFO] [stderr] Checking chashmap v2.2.2 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking filetime v0.2.8 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Checking miniz_oxide v0.3.6 [INFO] [stderr] Checking vec_map v0.6.0 [INFO] [stderr] Checking anymap v0.12.1 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking termcolor v1.1.0 [INFO] [stderr] Checking itoa v0.4.5 [INFO] [stderr] Checking notify v5.0.0-pre.1 [INFO] [stderr] Checking png v0.15.3 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking spin_sleep v0.3.7 [INFO] [stderr] Checking flate2 v1.0.13 [INFO] [stderr] Compiling zerocopy-derive v0.1.4 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Checking zerocopy v0.2.8 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Compiling typename_derive v0.1.4 [INFO] [stderr] Checking noise v0.6.0 [INFO] [stderr] Checking regex v1.3.4 [INFO] [stderr] Checking typename v0.1.2 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Checking base-62 v0.1.1 [INFO] [stderr] Checking gfx-backend-vulkan v0.4.2 [INFO] [stderr] Checking wgpu-native v0.4.3 [INFO] [stderr] Checking imgui v0.2.1 [INFO] [stderr] Checking wgpu v0.4.0 [INFO] [stderr] Checking bincode v1.2.1 [INFO] [stderr] Checking serde_json v1.0.48 [INFO] [stderr] Checking smithay-client-toolkit v0.6.6 [INFO] [stderr] Checking alga v0.9.2 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking obj-rs v0.5.0 [INFO] [stderr] Checking nalgebra v0.19.0 [INFO] [stderr] Checking winit v0.20.0-alpha4 [INFO] [stderr] Checking imgui-winit-support v0.2.1 [INFO] [stderr] Checking oxidator v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Vector4` [INFO] [stdout] --> src/client/mod.rs:3:56 [INFO] [stdout] | [INFO] [stdout] 3 | use na::{Isometry3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::botdef` [INFO] [stdout] --> src/client/game_state.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::botdef; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/client/unit_part_gpu.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/client/unit_part_gpu.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::*` [INFO] [stdout] --> src/client/unit_editor.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::model::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gpu_obj::model_gpu::ModelGpu` [INFO] [stdout] --> src/client/unit_editor.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use gpu_obj::model_gpu::ModelGpu; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vector2` [INFO] [stdout] --> src/client/unit_editor.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use na::{Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet` [INFO] [stdout] --> src/client/unit_editor.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/client/unit_editor.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/client/unit_editor.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | use std::io::{BufReader, BufWriter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufWriter` [INFO] [stdout] --> src/client/unit_editor.rs:244:34 [INFO] [stdout] | [INFO] [stdout] 244 | use std::io::{BufReader, BufWriter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> src/client/heightmap_editor.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/client/misc.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] 19 + for model_gpu_state in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/client/misc.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 159 | (t * 2.0), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 159 - (t * 2.0), [INFO] [stdout] 159 + t * 2.0, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::botdef` [INFO] [stdout] --> src/client/play.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::botdef; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `imgui::*` [INFO] [stdout] --> src/client/play.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use imgui::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Isometry3`, `Vector2`, `Vector4` [INFO] [stdout] --> src/client/play.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | use na::{Isometry3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/client/play.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frame::Player` [INFO] [stdout] --> src/client/render.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::frame::Player; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IsometryMatrix3`, `Matrix4`, `Vector2`, `Vector4` [INFO] [stdout] --> src/client/render.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | use na::{IsometryMatrix3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/client/render.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unit_part_gpu::UnitPartGpu` [INFO] [stdout] --> src/client/render.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use unit_part_gpu::UnitPartGpu; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/client/mod.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/client/mod.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/client/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufferMapAsyncResult`, `Extent3d`, `SwapChain` [INFO] [stdout] --> src/client/mod.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | use wgpu::{BufferMapAsyncResult, Extent3d, SwapChain, TextureFormat}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/client/mod.rs:154:10 [INFO] [stdout] | [INFO] [stdout] 154 | ) -> (Self) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 154 - ) -> (Self) { [INFO] [stdout] 154 + ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `unbounded` is imported redundantly [INFO] [stdout] --> src/client/mod.rs:436:17 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::*; [INFO] [stdout] | -------- the item `unbounded` is already imported here [INFO] [stdout] ... [INFO] [stdout] 436 | use crossbeam_channel::unbounded; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/client/mod.rs:437:50 [INFO] [stdout] | [INFO] [stdout] 437 | use notify::{watcher, RecursiveMode, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/client/mod.rs:608:9 [INFO] [stdout] | [INFO] [stdout] 608 | (this) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 608 - (this) [INFO] [stdout] 608 + this [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/client/mod.rs:927:25 [INFO] [stdout] | [INFO] [stdout] 927 | for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 927 - for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] 927 + for model_gpu_state in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Point3` [INFO] [stdout] --> src/frame.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | use na::{Point3, Vector3}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::unit` [INFO] [stdout] --> src/frame.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::unit; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Matrix4` [INFO] [stdout] --> src/frame_server/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | use na::{Matrix4, Point3, Vector2, Vector3}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/frame_server/mod.rs:393:25 [INFO] [stdout] | [INFO] [stdout] 393 | 'bot_test: for kbot_id in kbots_in_proximity.iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/frame_server/mod.rs:452:10 [INFO] [stdout] | [INFO] [stdout] 452 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/glsl.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/arrow_gpu.rs:45:95 [INFO] [stdout] | [INFO] [stdout] 45 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/blit_texture.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/explosion.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt` [INFO] [stdout] --> src/gpu_obj/explosion.rs:312:25 [INFO] [stdout] | [INFO] [stdout] 312 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/gpu_obj/glsl_compiler.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/health_bar.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/line.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/line.rs:29:95 [INFO] [stdout] | [INFO] [stdout] 29 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:46:95 [INFO] [stdout] | [INFO] [stdout] 46 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BindGroup`, `RenderPass` [INFO] [stdout] --> src/gpu_obj/trait_gpu.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use wgpu::{BindGroup, BindGroupLayout, RenderPass, TextureFormat}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/unit_icon.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/unit_icon.rs:29:95 [INFO] [stdout] | [INFO] [stdout] 29 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/water.rs:62:27 [INFO] [stdout] | [INFO] [stdout] 62 | .unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::unit` [INFO] [stdout] --> src/mobile.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::unit; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `Path` [INFO] [stdout] --> src/mobile.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/mobile.rs:37:20 [INFO] [stdout] | [INFO] [stdout] 37 | let diff = (other - self); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - let diff = (other - self); [INFO] [stdout] 37 + let diff = other - self; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::unit` [INFO] [stdout] --> src/moddef.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::unit; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/net_client.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> src/net_client.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpListener` [INFO] [stdout] --> src/net_client.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::TcpListener; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::client::*` [INFO] [stdout] --> src/unit.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::client::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::*` [INFO] [stdout] --> src/unit.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::FileTree` [INFO] [stdout] --> src/unit.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::FileTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gpu_obj::model_gpu::ModelGpu` [INFO] [stdout] --> src/unit.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use gpu_obj::model_gpu::ModelGpu; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vector2`, `Vector3` [INFO] [stdout] --> src/unit.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use na::{Matrix4, Point3, Vector2, Vector3}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet` [INFO] [stdout] --> src/unit.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/unit.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IsometryMatrix3`, `Point3`, `Vector2`, `Vector4` [INFO] [stdout] --> src/utils.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | use na::{IsometryMatrix3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vector4` [INFO] [stdout] --> src/client/mod.rs:3:56 [INFO] [stdout] | [INFO] [stdout] 3 | use na::{Isometry3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/utils.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::botdef` [INFO] [stdout] --> src/client/game_state.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::botdef; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DirEntry` [INFO] [stdout] --> src/utils.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | use std::fs::{self, DirEntry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/utils.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/client/unit_part_gpu.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/utils.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/client/unit_part_gpu.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt` [INFO] [stdout] --> src/utils.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::*` [INFO] [stdout] --> src/client/unit_editor.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::model::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gpu_obj::model_gpu::ModelGpu` [INFO] [stdout] --> src/client/unit_editor.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use gpu_obj::model_gpu::ModelGpu; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Vector2` [INFO] [stdout] --> src/client/unit_editor.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | use na::{Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet` [INFO] [stdout] --> src/client/unit_editor.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/client/unit_editor.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> src/client/unit_editor.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | use std::io::{BufReader, BufWriter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufWriter` [INFO] [stdout] --> src/client/unit_editor.rs:244:34 [INFO] [stdout] | [INFO] [stdout] 244 | use std::io::{BufReader, BufWriter}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> src/client/heightmap_editor.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/client/misc.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 19 - for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] 19 + for model_gpu_state in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/client/misc.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 159 | (t * 2.0), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 159 - (t * 2.0), [INFO] [stdout] 159 + t * 2.0, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::botdef` [INFO] [stdout] --> src/client/play.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::botdef; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `imgui::*` [INFO] [stdout] --> src/client/play.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use imgui::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Isometry3`, `Vector2`, `Vector4` [INFO] [stdout] --> src/client/play.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | use na::{Isometry3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant` [INFO] [stdout] --> src/client/play.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frame::Player` [INFO] [stdout] --> src/client/render.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::frame::Player; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IsometryMatrix3`, `Matrix4`, `Vector2`, `Vector4` [INFO] [stdout] --> src/client/render.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | use na::{IsometryMatrix3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/client/render.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unit_part_gpu::UnitPartGpu` [INFO] [stdout] --> src/client/render.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use unit_part_gpu::UnitPartGpu; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/client/mod.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 34 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/client/mod.rs:35:23 [INFO] [stdout] | [INFO] [stdout] 35 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/client/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufferMapAsyncResult`, `Extent3d`, `SwapChain` [INFO] [stdout] --> src/client/mod.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | use wgpu::{BufferMapAsyncResult, Extent3d, SwapChain, TextureFormat}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/client/mod.rs:154:10 [INFO] [stdout] | [INFO] [stdout] 154 | ) -> (Self) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 154 - ) -> (Self) { [INFO] [stdout] 154 + ) -> Self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `unbounded` is imported redundantly [INFO] [stdout] --> src/client/mod.rs:436:17 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::*; [INFO] [stdout] | -------- the item `unbounded` is already imported here [INFO] [stdout] ... [INFO] [stdout] 436 | use crossbeam_channel::unbounded; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/client/mod.rs:437:50 [INFO] [stdout] | [INFO] [stdout] 437 | use notify::{watcher, RecursiveMode, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/client/mod.rs:608:9 [INFO] [stdout] | [INFO] [stdout] 608 | (this) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 608 - (this) [INFO] [stdout] 608 + this [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/client/mod.rs:927:25 [INFO] [stdout] | [INFO] [stdout] 927 | for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 927 - for (model_gpu_state) in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] 927 + for model_gpu_state in self.unit_part_gpu.states.iter_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Point3` [INFO] [stdout] --> src/frame.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | use na::{Point3, Vector3}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::unit` [INFO] [stdout] --> src/frame.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::unit; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Matrix4` [INFO] [stdout] --> src/frame_server/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | use na::{Matrix4, Point3, Vector2, Vector3}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/frame_server/mod.rs:393:25 [INFO] [stdout] | [INFO] [stdout] 393 | 'bot_test: for kbot_id in kbots_in_proximity.iter() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/frame_server/mod.rs:452:10 [INFO] [stdout] | [INFO] [stdout] 452 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/glsl.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/arrow_gpu.rs:45:95 [INFO] [stdout] | [INFO] [stdout] 45 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/blit_texture.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/explosion.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt` [INFO] [stdout] --> src/gpu_obj/explosion.rs:312:25 [INFO] [stdout] | [INFO] [stdout] 312 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/gpu_obj/glsl_compiler.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/health_bar.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/line.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/line.rs:29:95 [INFO] [stdout] | [INFO] [stdout] 29 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:46:95 [INFO] [stdout] | [INFO] [stdout] 46 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BindGroup`, `RenderPass` [INFO] [stdout] --> src/gpu_obj/trait_gpu.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use wgpu::{BindGroup, BindGroupLayout, RenderPass, TextureFormat}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model` [INFO] [stdout] --> src/gpu_obj/unit_icon.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/unit_icon.rs:29:95 [INFO] [stdout] | [INFO] [stdout] 29 | let pipeline = Self::create_pipeline(device, main_bind_group_layout, format).unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/gpu_obj/water.rs:62:27 [INFO] [stdout] | [INFO] [stdout] 62 | .unwrap();; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::unit` [INFO] [stdout] --> src/mobile.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::unit; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `Path` [INFO] [stdout] --> src/mobile.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/mobile.rs:37:20 [INFO] [stdout] | [INFO] [stdout] 37 | let diff = (other - self); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - let diff = (other - self); [INFO] [stdout] 37 + let diff = other - self; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::unit` [INFO] [stdout] --> src/moddef.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::unit; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/net_client.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::BufReader` [INFO] [stdout] --> src/net_client.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::BufReader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpListener` [INFO] [stdout] --> src/net_client.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::TcpListener; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::client::*` [INFO] [stdout] --> src/unit.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::client::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::*` [INFO] [stdout] --> src/unit.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::FileTree` [INFO] [stdout] --> src/unit.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::FileTree; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gpu_obj::model_gpu::ModelGpu` [INFO] [stdout] --> src/unit.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use gpu_obj::model_gpu::ModelGpu; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vector2`, `Vector3` [INFO] [stdout] --> src/unit.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use na::{Matrix4, Point3, Vector2, Vector3}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap`, `HashSet` [INFO] [stdout] --> src/unit.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/unit.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IsometryMatrix3`, `Point3`, `Vector2`, `Vector4` [INFO] [stdout] --> src/utils.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | use na::{IsometryMatrix3, Matrix4, Point3, Vector2, Vector3, Vector4}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/utils.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DirEntry` [INFO] [stdout] --> src/utils.rs:134:21 [INFO] [stdout] | [INFO] [stdout] 134 | use std::fs::{self, DirEntry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/utils.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/utils.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `ReadBytesExt` [INFO] [stdout] --> src/utils.rs:177:25 [INFO] [stdout] | [INFO] [stdout] 177 | use byteorder::{BigEndian, ReadBytesExt}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude` [INFO] [stdout] --> src/client/unit_editor.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude` [INFO] [stdout] --> src/client/unit_editor.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude` [INFO] [stdout] --> src/client/heightmap_editor.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/client/unit_editor.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `radius` [INFO] [stdout] --> src/client/unit_editor.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | radius, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `radius: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metal_cost` [INFO] [stdout] --> src/client/unit_editor.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | metal_cost, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `metal_cost: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `part_tree` [INFO] [stdout] --> src/client/unit_editor.rs:116:21 [INFO] [stdout] | [INFO] [stdout] 116 | part_tree, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `part_tree: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/unit_editor.rs:236:13 [INFO] [stdout] | [INFO] [stdout] 236 | let mut buf_w = BufWriter::new(file); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/unit_editor.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | let mut buf_r = BufReader::new(file); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `deleter` [INFO] [stdout] --> src/client/unit_editor.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | let deleter = unit_editor.botdef.part_tree.remove_node(part_tree.id); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deleter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client/unit_editor.rs:492:46 [INFO] [stdout] | [INFO] [stdout] 492 | ModelGpuState::Error(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client/unit_editor.rs:583:51 [INFO] [stdout] | [INFO] [stdout] 583 | Some(ModelGpuState::Error(e)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/heightmap_editor.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | let mut buf_w = BufWriter::new(file); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encoder` [INFO] [stdout] --> src/client/misc.rs:127:63 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn upload_to_gpu(&mut self, view_proj: &Matrix4, encoder: &mut wgpu::CommandEncoder) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/play.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | let mut moddef = crate::moddef::ModDef { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta_sim_sec` [INFO] [stdout] --> src/client/play.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | delta_sim_sec: f32, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_sim_sec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encoder` [INFO] [stdout] --> src/client/play.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | encoder: &mut wgpu::CommandEncoder, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/client/render.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | _ => { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_be_built` [INFO] [stdout] --> src/client/render.rs:405:29 [INFO] [stdout] | [INFO] [stdout] 405 | let can_be_built: Vec<_> = self [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_be_built` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/client/render.rs:274:42 [INFO] [stdout] | [INFO] [stdout] 274 | ... .filter(|(n, d)| *n != "frame_time") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/client/render.rs:298:42 [INFO] [stdout] | [INFO] [stdout] 298 | ... .filter(|(n, d)| *n != "total") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude` [INFO] [stdout] --> src/client/unit_editor.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude` [INFO] [stdout] --> src/client/unit_editor.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude` [INFO] [stdout] --> src/client/heightmap_editor.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/render.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | let mut generic_gpu = ModelGpu::new( [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/render.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let mut generic_gpu_state_new = unit_part_gpu::ModelGpuState::Ready(generic_gpu); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/client/unit_editor.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `radius` [INFO] [stdout] --> src/client/unit_editor.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | radius, [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `radius: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metal_cost` [INFO] [stdout] --> src/client/unit_editor.rs:115:21 [INFO] [stdout] | [INFO] [stdout] 115 | metal_cost, [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `metal_cost: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `part_tree` [INFO] [stdout] --> src/client/unit_editor.rs:116:21 [INFO] [stdout] | [INFO] [stdout] 116 | part_tree, [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `part_tree: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/unit_editor.rs:236:13 [INFO] [stdout] | [INFO] [stdout] 236 | let mut buf_w = BufWriter::new(file); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/unit_editor.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 251 | let mut buf_r = BufReader::new(file); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `deleter` [INFO] [stdout] --> src/client/unit_editor.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | let deleter = unit_editor.botdef.part_tree.remove_node(part_tree.id); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deleter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client/unit_editor.rs:492:46 [INFO] [stdout] | [INFO] [stdout] 492 | ModelGpuState::Error(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client/unit_editor.rs:583:51 [INFO] [stdout] | [INFO] [stdout] 583 | Some(ModelGpuState::Error(e)) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/frame_server/mod.rs:98:21 [INFO] [stdout] | [INFO] [stdout] 98 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/frame_server/mod.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/frame_server/mod.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | to, [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/frame_server/mod.rs:600:9 [INFO] [stdout] | [INFO] [stdout] 600 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resources_surplus` [INFO] [stdout] --> src/frame_server/mod.rs:650:13 [INFO] [stdout] | [INFO] [stdout] 650 | let mut resources_surplus = FnvHashMap::, ResourceSurplus>::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources_surplus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/frame_server/mod.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 654 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arrows` [INFO] [stdout] --> src/frame_server/mod.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 261 | arrows: &mut Vec, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/heightmap_editor.rs:336:13 [INFO] [stdout] | [INFO] [stdout] 336 | let mut buf_w = BufWriter::new(file); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frame_server/mod.rs:650:9 [INFO] [stdout] | [INFO] [stdout] 650 | let mut resources_surplus = FnvHashMap::, ResourceSurplus>::default(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encoder` [INFO] [stdout] --> src/client/misc.rs:127:63 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn upload_to_gpu(&mut self, view_proj: &Matrix4, encoder: &mut wgpu::CommandEncoder) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/play.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | let mut moddef = crate::moddef::ModDef { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta_sim_sec` [INFO] [stdout] --> src/client/play.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | delta_sim_sec: f32, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_sim_sec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `encoder` [INFO] [stdout] --> src/client/play.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | encoder: &mut wgpu::CommandEncoder, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/gpu_obj/heightmap_gpu.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | let start = std::time::Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/client/render.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | _ => { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/client/render.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `can_be_built` [INFO] [stdout] --> src/client/render.rs:405:29 [INFO] [stdout] | [INFO] [stdout] 405 | let can_be_built: Vec<_> = self [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_can_be_built` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `update_left` is never read [INFO] [stdout] --> src/gpu_obj/heightmap_gpu.rs:774:13 [INFO] [stdout] | [INFO] [stdout] 774 | update_left -= update_to_do; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/client/render.rs:274:42 [INFO] [stdout] | [INFO] [stdout] 274 | ... .filter(|(n, d)| *n != "frame_time") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/client/render.rs:298:42 [INFO] [stdout] | [INFO] [stdout] 298 | ... .filter(|(n, d)| *n != "total") [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn z(x: f32, y: f32) -> f32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn z(x: f32, y: f32) -> f32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/render.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | let mut generic_gpu = ModelGpu::new( [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client/render.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | let mut generic_gpu_state_new = unit_part_gpu::ModelGpuState::Ready(generic_gpu); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/gpu_obj/post_fx.rs:144:50 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn render(&self, rpass: &mut RenderPass, device: &Device, main_bind_group: &BindGroup) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/gpu_obj/post_fxaa.rs:151:50 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn render(&self, rpass: &mut RenderPass, device: &Device, main_bind_group: &BindGroup) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/gpu_obj/texture_view_bicopy.rs:141:50 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn render(&self, rpass: &mut RenderPass, device: &Device, main_bind_group: &BindGroup) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vertex_size` [INFO] [stdout] --> src/gpu_obj/water.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let vertex_size = std::mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertex_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/heightmap_phy.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for j in 0..height { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/heightmap_phy.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | for i in 0..width { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/manager.rs:89:79 [INFO] [stdout] | [INFO] [stdout] 89 | ... frame::FrameEventFromPlayer::ReplaceFrame(x) => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/mobile.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let max = other + cone_angle; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min` [INFO] [stdout] --> src/mobile.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let min = other - cone_angle; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/frame_server/mod.rs:98:21 [INFO] [stdout] | [INFO] [stdout] 98 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/frame_server/mod.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/frame_server/mod.rs:598:9 [INFO] [stdout] | [INFO] [stdout] 598 | to, [INFO] [stdout] | ^^ help: try ignoring the field: `to: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/frame_server/mod.rs:600:9 [INFO] [stdout] | [INFO] [stdout] 600 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resources_surplus` [INFO] [stdout] --> src/frame_server/mod.rs:650:13 [INFO] [stdout] | [INFO] [stdout] 650 | let mut resources_surplus = FnvHashMap::, ResourceSurplus>::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources_surplus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/frame_server/mod.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 654 | from, [INFO] [stdout] | ^^^^ help: try ignoring the field: `from: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arrows` [INFO] [stdout] --> src/frame_server/mod.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 261 | arrows: &mut Vec, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frame_server/mod.rs:650:9 [INFO] [stdout] | [INFO] [stdout] 650 | let mut resources_surplus = FnvHashMap::, ResourceSurplus>::default(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/gpu_obj/heightmap_gpu.rs:188:13 [INFO] [stdout] | [INFO] [stdout] 188 | let start = std::time::Instant::now(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `update_left` is never read [INFO] [stdout] --> src/gpu_obj/heightmap_gpu.rs:774:13 [INFO] [stdout] | [INFO] [stdout] 774 | update_left -= update_to_do; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame_server` [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let frame_server = [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manager` [INFO] [stdout] --> src/main.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let manager = manager::Manager::new( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn z(x: f32, y: f32) -> f32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn z(x: f32, y: f32) -> f32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `watcher` is never read [INFO] [stdout] --> src/client/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 134 | watcher: notify::RecommendedWatcher, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEAR` is never used [INFO] [stdout] --> src/client/camera.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NEAR: f32 = 1.0; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `path_get_mut` is never used [INFO] [stdout] --> src/client/unit_part_gpu.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl UnitPartGpu { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn path_get_mut(&mut self, path: PathBuf) -> Option<&mut ModelGpuState> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Move`, `Guard`, and `Attack` are never constructed [INFO] [stdout] --> src/client/uitool.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum UiTool { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 6 | None, [INFO] [stdout] 7 | Move, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | Repair, [INFO] [stdout] 9 | Guard, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | Attack, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UiTool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `energy` is never read [INFO] [stdout] --> src/frame_server/mod.rs:616:9 [INFO] [stdout] | [INFO] [stdout] 614 | struct ResourceUsagePropMax { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 615 | metal: f64, [INFO] [stdout] 616 | energy: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `metal` and `energy` are never read [INFO] [stdout] --> src/frame_server/mod.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 645 | struct ResourceSurplus { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 646 | metal: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 647 | energy: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `noise_texture` is never read [INFO] [stdout] --> src/gpu_obj/blit_texture.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct BlitTextureGpu { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | noise_texture: Texture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str_to_shader_stage` is never used [INFO] [stdout] --> src/gpu_obj/glsl_compiler.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn str_to_shader_stage(str: &str) -> ShaderStage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `z` is never used [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn z(x: f32, y: f32) -> f32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_texels` is never used [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn create_texels(width: u32, height: u32, t: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_instance` is never used [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ModelGpu { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn update_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bind_state` is never read [INFO] [stdout] --> src/net_client.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct NetClientInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 19 | bind_state: BindState, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetClientInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ID_CHARS` is never used [INFO] [stdout] --> src/utils.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const ID_CHARS: [char; 62] = [ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ID_SIZE` is never used [INFO] [stdout] --> src/utils.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const ID_SIZE: usize = 5; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rand_id_unsafe` is never used [INFO] [stdout] --> src/utils.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn rand_id_unsafe() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pop_set` is never used [INFO] [stdout] --> src/utils.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn pop_set(set: &mut HashSet) -> T { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/client/mod.rs:863:13 [INFO] [stdout] | [INFO] [stdout] 863 | std::mem::replace(to_update, Some(Vector3::new(vec[0], vec[1], vec[2]))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 863 | let _ = std::mem::replace(to_update, Some(Vector3::new(vec[0], vec[1], vec[2]))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/client/mod.rs:865:13 [INFO] [stdout] | [INFO] [stdout] 865 | std::mem::replace(to_update, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 865 | let _ = std::mem::replace(to_update, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/client/unit_editor.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | serde_json::to_writer_pretty(buf_w, bot_def); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 237 | let _ = serde_json::to_writer_pretty(buf_w, bot_def); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/client/unit_editor.rs:270:37 [INFO] [stdout] | [INFO] [stdout] 270 | for node_mut in unit_editor.botdef.part_tree.find_node_mut(node.id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 270 | while let Some(node_mut) = unit_editor.botdef.part_tree.find_node_mut(node.id) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 270 | if let Some(node_mut) = unit_editor.botdef.part_tree.find_node_mut(node.id) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/client/heightmap_editor.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | serde_json::to_writer_pretty(buf_w, &heightmap_gpu.phy.data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 337 | let _ = serde_json::to_writer_pretty(buf_w, &heightmap_gpu.phy.data); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/client/misc.rs:504:41 [INFO] [stdout] | [INFO] [stdout] 504 | ... self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 503 | while let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 503 | if let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/client/misc.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | ... self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 517 | while let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 517 | if let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/client/render.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | std::mem::replace(generic_gpu_state, generic_gpu_state_new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 150 | let _ = std::mem::replace(generic_gpu_state, generic_gpu_state_new); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/gpu_obj/post_fx.rs:144:50 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn render(&self, rpass: &mut RenderPass, device: &Device, main_bind_group: &BindGroup) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/gpu_obj/post_fxaa.rs:151:50 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn render(&self, rpass: &mut RenderPass, device: &Device, main_bind_group: &BindGroup) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> src/gpu_obj/texture_view_bicopy.rs:141:50 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn render(&self, rpass: &mut RenderPass, device: &Device, main_bind_group: &BindGroup) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/frame_server/mod.rs:120:37 [INFO] [stdout] | [INFO] [stdout] 120 | for kbot in frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 120 | while let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/frame_server/mod.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | for kbot in frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 136 | while let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/frame_server/mod.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | std::mem::replace(grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 275 | let _ = std::mem::replace(grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/frame_server/mod.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 319 | std::mem::replace(small_grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 319 | let _ = std::mem::replace(small_grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/arrow_gpu.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 194 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/blit_texture.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 235 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/explosion.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 353 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/health_bar.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vertex_size` [INFO] [stdout] --> src/gpu_obj/water.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let vertex_size = std::mem::size_of::(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertex_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/line.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 131 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 195 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 205 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/unit_icon.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 126 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/unit.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | std::mem::replace(self, next); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = std::mem::replace(self, next); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/heightmap_phy.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | for j in 0..height { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/heightmap_phy.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | for i in 0..width { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/manager.rs:89:79 [INFO] [stdout] | [INFO] [stdout] 89 | ... frame::FrameEventFromPlayer::ReplaceFrame(x) => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/mobile.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | let max = other + cone_angle; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min` [INFO] [stdout] --> src/mobile.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | let min = other - cone_angle; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 158 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame_server` [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let frame_server = [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_server` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manager` [INFO] [stdout] --> src/main.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let manager = manager::Manager::new( [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `watcher` is never read [INFO] [stdout] --> src/client/mod.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 134 | watcher: notify::RecommendedWatcher, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEAR` is never used [INFO] [stdout] --> src/client/camera.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NEAR: f32 = 1.0; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `path_get_mut` is never used [INFO] [stdout] --> src/client/unit_part_gpu.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl UnitPartGpu { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn path_get_mut(&mut self, path: PathBuf) -> Option<&mut ModelGpuState> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Move`, `Guard`, and `Attack` are never constructed [INFO] [stdout] --> src/client/uitool.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum UiTool { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 6 | None, [INFO] [stdout] 7 | Move, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | Repair, [INFO] [stdout] 9 | Guard, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | Attack, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UiTool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `energy` is never read [INFO] [stdout] --> src/frame_server/mod.rs:616:9 [INFO] [stdout] | [INFO] [stdout] 614 | struct ResourceUsagePropMax { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 615 | metal: f64, [INFO] [stdout] 616 | energy: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `metal` and `energy` are never read [INFO] [stdout] --> src/frame_server/mod.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 645 | struct ResourceSurplus { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 646 | metal: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 647 | energy: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `noise_texture` is never read [INFO] [stdout] --> src/gpu_obj/blit_texture.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct BlitTextureGpu { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | noise_texture: Texture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `str_to_shader_stage` is never used [INFO] [stdout] --> src/gpu_obj/glsl_compiler.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn str_to_shader_stage(str: &str) -> ShaderStage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `z` is never used [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn z(x: f32, y: f32) -> f32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_texels` is never used [INFO] [stdout] --> src/gpu_obj/heightmap_helper.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn create_texels(width: u32, height: u32, t: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_instance` is never used [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ModelGpu { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn update_instance( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `bind_state` is never read [INFO] [stdout] --> src/net_client.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct NetClientInfo { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 19 | bind_state: BindState, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetClientInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ID_CHARS` is never used [INFO] [stdout] --> src/utils.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const ID_CHARS: [char; 62] = [ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ID_SIZE` is never used [INFO] [stdout] --> src/utils.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const ID_SIZE: usize = 5; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rand_id_unsafe` is never used [INFO] [stdout] --> src/utils.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn rand_id_unsafe() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pop_set` is never used [INFO] [stdout] --> src/utils.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn pop_set(set: &mut HashSet) -> T { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/client/mod.rs:863:13 [INFO] [stdout] | [INFO] [stdout] 863 | std::mem::replace(to_update, Some(Vector3::new(vec[0], vec[1], vec[2]))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 863 | let _ = std::mem::replace(to_update, Some(Vector3::new(vec[0], vec[1], vec[2]))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/client/mod.rs:865:13 [INFO] [stdout] | [INFO] [stdout] 865 | std::mem::replace(to_update, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 865 | let _ = std::mem::replace(to_update, None); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/client/unit_editor.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | serde_json::to_writer_pretty(buf_w, bot_def); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 237 | let _ = serde_json::to_writer_pretty(buf_w, bot_def); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/client/unit_editor.rs:270:37 [INFO] [stdout] | [INFO] [stdout] 270 | for node_mut in unit_editor.botdef.part_tree.find_node_mut(node.id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 270 | while let Some(node_mut) = unit_editor.botdef.part_tree.find_node_mut(node.id) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 270 | if let Some(node_mut) = unit_editor.botdef.part_tree.find_node_mut(node.id) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/client/heightmap_editor.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | serde_json::to_writer_pretty(buf_w, &heightmap_gpu.phy.data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 337 | let _ = serde_json::to_writer_pretty(buf_w, &heightmap_gpu.phy.data); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/client/misc.rs:504:41 [INFO] [stdout] | [INFO] [stdout] 504 | ... self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 503 | while let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 503 | if let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/client/misc.rs:518:41 [INFO] [stdout] | [INFO] [stdout] 518 | ... self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 517 | while let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 517 | if let Some(target_kbot) = self.game_state.frame_zero.kbots.get(&id_builded) [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/client/render.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | std::mem::replace(generic_gpu_state, generic_gpu_state_new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 150 | let _ = std::mem::replace(generic_gpu_state, generic_gpu_state_new); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/frame_server/mod.rs:120:37 [INFO] [stdout] | [INFO] [stdout] 120 | for kbot in frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 120 | while let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/frame_server/mod.rs:136:37 [INFO] [stdout] | [INFO] [stdout] 136 | for kbot in frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 136 | while let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(kbot) = frame.kbots.get_mut(selected_raw_id) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/frame_server/mod.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | std::mem::replace(grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 275 | let _ = std::mem::replace(grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/frame_server/mod.rs:319:13 [INFO] [stdout] | [INFO] [stdout] 319 | std::mem::replace(small_grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 319 | let _ = std::mem::replace(small_grid, vec![Vec::>::new(); grid_w * grid_h]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/arrow_gpu.rs:194:9 [INFO] [stdout] | [INFO] [stdout] 194 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 194 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/blit_texture.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 235 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/explosion.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 353 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/health_bar.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/line.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 131 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 195 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/model_gpu.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 205 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/gpu_obj/unit_icon.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 126 | let _ = std::mem::replace(&mut self.instance_buf, temp_buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> src/unit.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | std::mem::replace(self, next); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 41 | let _ = std::mem::replace(self, next); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 158 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.14s [INFO] running `Command { std: "docker" "inspect" "ce56ef63991a3b736686c6935faca68ef5eacdb81d19b8bcf1eec61b2f43d5d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce56ef63991a3b736686c6935faca68ef5eacdb81d19b8bcf1eec61b2f43d5d5", kill_on_drop: false }` [INFO] [stdout] ce56ef63991a3b736686c6935faca68ef5eacdb81d19b8bcf1eec61b2f43d5d5 [INFO] checking Ruddle/oxidator against try#eb3956d47f58f1c7c0a5694b1d3401945bc41dce for pr-117164 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRuddle%2Foxidator" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Ruddle/oxidator on toolchain eb3956d47f58f1c7c0a5694b1d3401945bc41dce [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eb3956d47f58f1c7c0a5694b1d3401945bc41dce" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Ruddle/oxidator [INFO] finished tweaking git repo https://github.com/Ruddle/oxidator [INFO] tweaked toml for git repo https://github.com/Ruddle/oxidator written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Ruddle/oxidator 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" "+eb3956d47f58f1c7c0a5694b1d3401945bc41dce" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+eb3956d47f58f1c7c0a5694b1d3401945bc41dce" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fee802a158c1c157044a92fc53c955c28cc0979451685d4f2cc0e60c9db73dfc [INFO] running `Command { std: "docker" "start" "-a" "fee802a158c1c157044a92fc53c955c28cc0979451685d4f2cc0e60c9db73dfc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fee802a158c1c157044a92fc53c955c28cc0979451685d4f2cc0e60c9db73dfc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fee802a158c1c157044a92fc53c955c28cc0979451685d4f2cc0e60c9db73dfc", kill_on_drop: false }` [INFO] [stdout] fee802a158c1c157044a92fc53c955c28cc0979451685d4f2cc0e60c9db73dfc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+eb3956d47f58f1c7c0a5694b1d3401945bc41dce" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 08c2aa3a382ced473c0bdc9062954eb4bd48684336aab6b605fae0695079729a [INFO] running `Command { std: "docker" "start" "-a" "08c2aa3a382ced473c0bdc9062954eb4bd48684336aab6b605fae0695079729a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.67 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling proc-macro2 v1.0.8 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v1.0.15 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling xml-rs v0.8.0 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Checking adler32 v1.0.4 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Checking stb_truetype v0.3.1 [INFO] [stderr] Checking lock_api v0.3.3 [INFO] [stderr] Compiling rayon-core v1.7.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Compiling num-rational v0.2.3 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Compiling wayland-scanner v0.23.6 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking gfx-hal v0.4.1 [INFO] [stderr] Checking num_cpus v1.12.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking downcast-rs v1.1.1 [INFO] [stderr] Checking mio v0.6.21 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking crossbeam-queue v0.2.1 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Compiling imgui-sys v0.2.0 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking relevant v0.4.2 [INFO] [stderr] Checking wayland-sys v0.23.6 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Checking rusttype v0.8.2 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Checking atom v0.3.5 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Compiling libm v0.1.4 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking rayon v1.3.0 [INFO] [stderr] Checking hibitset v0.6.3 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking ash v0.29.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking inflate v0.3.4 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking colorful v0.2.1 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking backtrace v0.3.44 [INFO] [stderr] Checking aho-corasick v0.7.8 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling wayland-client v0.23.6 [INFO] [stderr] Compiling wayland-protocols v0.23.6 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking parking_lot v0.4.8 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking inotify-sys v0.1.3 [INFO] [stderr] Checking rendy-descriptor v0.5.1 [INFO] [stderr] Checking rendy-memory v0.5.2 [INFO] [stderr] Checking gfx-backend-empty v0.4.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking copyless v0.1.4 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking instant v0.1.2 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking regex-syntax v0.6.14 [INFO] [stderr] Checking rand_distr v0.2.2 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking matrixmultiply v0.2.3 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking generic-array v0.13.2 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Checking inotify v0.7.0 [INFO] [stderr] Checking wayland-commons v0.23.6 [INFO] [stderr] Checking calloop v0.4.4 [INFO] [stderr] Checking jpeg-decoder v0.1.18 [INFO] [stderr] Checking chashmap v2.2.2 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking filetime v0.2.8 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Checking miniz_oxide v0.3.6 [INFO] [stderr] Checking anymap v0.12.1 [INFO] [stderr] Checking termcolor v1.1.0 [INFO] [stderr] Checking vec_map v0.6.0 [INFO] [stderr] Checking itoa v0.4.5 [INFO] [stderr] Checking png v0.15.3 [INFO] [stderr] Checking notify v5.0.0-pre.1 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking spin_sleep v0.3.7 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking flate2 v1.0.13 [INFO] [stderr] Compiling zerocopy-derive v0.1.4 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Checking zerocopy v0.2.8 [INFO] [stderr] Checking regex v1.3.4 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Compiling typename_derive v0.1.4 [INFO] [stderr] Checking noise v0.6.0 [INFO] [stderr] Checking typename v0.1.2 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Checking base-62 v0.1.1 [INFO] [stderr] Checking gfx-backend-vulkan v0.4.2 [INFO] [stderr] Checking wgpu-native v0.4.3 [INFO] [stderr] Checking imgui v0.2.1 [INFO] [stderr] Checking wgpu v0.4.0 [INFO] [stderr] Checking smithay-client-toolkit v0.6.6 [INFO] [stderr] Checking bincode v1.2.1 [INFO] [stderr] Checking serde_json v1.0.48 [INFO] [stderr] Checking winit v0.20.0-alpha4 [INFO] [stderr] Checking alga v0.9.2 [INFO] [stderr] Checking num v0.2.1 [INFO] [stderr] Checking obj-rs v0.5.0 [INFO] [stderr] Checking nalgebra v0.19.0 [INFO] [stderr] Checking imgui-winit-support v0.2.1 [INFO] [stdout] error: internal compiler error: compiler/rustc_trait_selection/src/traits/coherence.rs:806:9: can't orphan check a trait ref with both params and inference variables <_ as generic_array::ArrayLength> [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] thread 'rustc' panicked at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/compiler/rustc_errors/src/lib.rs:1113:75: [INFO] [stderr] Box [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x7ff48ad5945c - std::backtrace_rs::backtrace::libunwind::trace::h9842b9d675b92006 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5 [INFO] [stderr] 1: 0x7ff48ad5945c - std::backtrace_rs::backtrace::trace_unsynchronized::hd0a28db86482f5f2 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stderr] 2: 0x7ff48ad5945c - std::sys_common::backtrace::_print_fmt::h4da8f019d2292968 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/sys_common/backtrace.rs:68:5 [INFO] [stderr] 3: 0x7ff48ad5945c - ::fmt::hb25436495775e0c7 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/sys_common/backtrace.rs:44:22 [INFO] [stderr] 4: 0x7ff48adac4a0 - core::fmt::rt::Argument::fmt::h88ed20e36ee1a321 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/core/src/fmt/rt.rs:142:9 [INFO] [stderr] 5: 0x7ff48adac4a0 - core::fmt::write::h5b01c1fe424b3a57 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/core/src/fmt/mod.rs:1120:17 [INFO] [stderr] 6: 0x7ff48ad4d2bf - std::io::Write::write_fmt::h97b835339435145a [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/io/mod.rs:1810:15 [INFO] [stderr] 7: 0x7ff48ad59244 - std::sys_common::backtrace::_print::h93e76507fd4e0e35 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/sys_common/backtrace.rs:47:5 [INFO] [stderr] 8: 0x7ff48ad59244 - std::sys_common::backtrace::print::h91cd271153833165 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/sys_common/backtrace.rs:34:9 [INFO] [stderr] 9: 0x7ff48ad5bed7 - std::panicking::default_hook::{{closure}}::h0a7cebca39f81ef6 [INFO] [stderr] 10: 0x7ff48ad5bc3f - std::panicking::default_hook::h9af3d9fb49b5d3fa [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/panicking.rs:292:9 [INFO] [stderr] 11: 0x7ff487af4410 - std[70adfe3cb0d322ac]::panicking::update_hook::>::{closure#0} [INFO] [stderr] 12: 0x7ff48ad5c618 - as core::ops::function::Fn>::call::he9fcbcc96ad83dbd [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/alloc/src/boxed.rs:2029:9 [INFO] [stderr] 13: 0x7ff48ad5c618 - std::panicking::rust_panic_with_hook::h12a891e08b5c1a3b [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/panicking.rs:783:13 [INFO] [stderr] 14: 0x7ff487b2c864 - std[70adfe3cb0d322ac]::panicking::begin_panic::::{closure#0} [INFO] [stderr] 15: 0x7ff487b28cf6 - std[70adfe3cb0d322ac]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> [INFO] [stderr] 16: 0x7ff487b24036 - std[70adfe3cb0d322ac]::panicking::begin_panic:: [INFO] [stderr] 17: 0x7ff487b37b39 - ::diagnostic_builder_emit_producing_guarantee [INFO] [stderr] 18: 0x7ff487f194c5 - ::bug:: [INFO] [stderr] 19: 0x7ff487fb644d - rustc_middle[f0bb88c0811a983c]::util::bug::opt_span_bug_fmt::::{closure#0} [INFO] [stderr] 20: 0x7ff487f9dbaa - rustc_middle[f0bb88c0811a983c]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} [INFO] [stderr] 21: 0x7ff487f9da28 - rustc_middle[f0bb88c0811a983c]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> [INFO] [stderr] 22: 0x7ff485f51fc0 - rustc_middle[f0bb88c0811a983c]::util::bug::bug_fmt [INFO] [stderr] 23: 0x7ff4896c2241 - rustc_trait_selection[bc7f1d3f6635e812]::traits::coherence::orphan_check_trait_ref::::is_knowable::{closure#0}> [INFO] [stderr] 24: 0x7ff4894a5135 - ::candidate_from_obligation_no_cache [INFO] [stderr] 25: 0x7ff486ad1791 - ::candidate_from_obligation [INFO] [stderr] 26: 0x7ff48981b1c1 - ::evaluate_trait_predicate_recursively [INFO] [stderr] 27: 0x7ff489876dfa - ::evaluate_candidate [INFO] [stderr] 28: 0x7ff4894a428f - ::candidate_from_obligation_no_cache [INFO] [stderr] 29: 0x7ff485f3023c - ::poly_select [INFO] [stderr] 30: 0x7ff4890a5745 - rustc_trait_selection[bc7f1d3f6635e812]::traits::project::opt_normalize_projection_type [INFO] [stderr] 31: 0x7ff4890a36f8 - >::fold_ty [INFO] [stderr] 32: 0x7ff48955d67e - >::try_super_fold_with:: [INFO] [stderr] 33: 0x7ff48955879e - ::normalize:: [INFO] [stderr] 34: 0x7ff48949bc67 - rustc_trait_selection[bc7f1d3f6635e812]::traits::coherence::orphan_check::{closure#0}::{closure#0} [INFO] [stderr] 35: 0x7ff48949ba59 - as rustc_type_ir[f3814c44cb2f2fa3]::visit::TypeVisitor>::visit_ty [INFO] [stderr] 36: 0x7ff487114cf7 - rustc_trait_selection[bc7f1d3f6635e812]::traits::coherence::orphan_check [INFO] [stderr] 37: 0x7ff488f0f0f2 - rustc_hir_analysis[4a1be57df639846d]::coherence::orphan::orphan_check_impl [INFO] [stderr] 38: 0x7ff488f0f013 - rustc_query_impl[3984cb197e6ffb6]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 39: 0x7ff4891914da - rustc_query_system[417f1e0ce84d95f1]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[3984cb197e6ffb6]::plumbing::QueryCtxt, false> [INFO] [stderr] 40: 0x7ff4891910dd - rustc_query_impl[3984cb197e6ffb6]::query_impl::orphan_check_impl::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 41: 0x7ff488f0aafe - rustc_hir_analysis[4a1be57df639846d]::coherence::coherent_trait [INFO] [stderr] 42: 0x7ff488f0a66f - rustc_query_impl[3984cb197e6ffb6]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 43: 0x7ff48984af3d - rustc_query_system[417f1e0ce84d95f1]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[3984cb197e6ffb6]::plumbing::QueryCtxt, false> [INFO] [stderr] 44: 0x7ff48984accd - rustc_query_impl[3984cb197e6ffb6]::query_impl::coherent_trait::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 45: 0x7ff4896a912a - rustc_hir_analysis[4a1be57df639846d]::check_crate [INFO] [stderr] 46: 0x7ff4896875a2 - rustc_interface[6612a71c619b686]::passes::analysis [INFO] [stderr] 47: 0x7ff4896871dd - rustc_query_impl[3984cb197e6ffb6]::plumbing::__rust_begin_short_backtrace::> [INFO] [stderr] 48: 0x7ff489ada140 - rustc_query_system[417f1e0ce84d95f1]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[3984cb197e6ffb6]::plumbing::QueryCtxt, false> [INFO] [stderr] 49: 0x7ff489ad9f47 - rustc_query_impl[3984cb197e6ffb6]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace [INFO] [stderr] 50: 0x7ff489d74fa2 - rustc_interface[6612a71c619b686]::interface::run_compiler::, rustc_driver_impl[b1895b10883e792e]::run_compiler::{closure#0}>::{closure#0} [INFO] [stderr] 51: 0x7ff489d6868d - std[70adfe3cb0d322ac]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[b1895b10883e792e]::run_compiler::{closure#0}>::{closure#0}, core[79569687367a61ee]::result::Result<(), rustc_span[4cc6de006395f734]::ErrorGuaranteed>>::{closure#0}, core[79569687367a61ee]::result::Result<(), rustc_span[4cc6de006395f734]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[79569687367a61ee]::result::Result<(), rustc_span[4cc6de006395f734]::ErrorGuaranteed>> [INFO] [stderr] 52: 0x7ff489d684b7 - <::spawn_unchecked_, rustc_driver_impl[b1895b10883e792e]::run_compiler::{closure#0}>::{closure#0}, core[79569687367a61ee]::result::Result<(), rustc_span[4cc6de006395f734]::ErrorGuaranteed>>::{closure#0}, core[79569687367a61ee]::result::Result<(), rustc_span[4cc6de006395f734]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[79569687367a61ee]::result::Result<(), rustc_span[4cc6de006395f734]::ErrorGuaranteed>>::{closure#1} as core[79569687367a61ee]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stderr] 53: 0x7ff48ad664a5 - as core::ops::function::FnOnce>::call_once::h7e6cc7939a2bab28 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/alloc/src/boxed.rs:2015:9 [INFO] [stderr] 54: 0x7ff48ad664a5 - as core::ops::function::FnOnce>::call_once::h17cae45bb0af19c8 [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/alloc/src/boxed.rs:2015:9 [INFO] [stderr] 55: 0x7ff48ad664a5 - std::sys::unix::thread::Thread::new::thread_start::h7ff5405c79cd8c4d [INFO] [stderr] at /rustc/eb3956d47f58f1c7c0a5694b1d3401945bc41dce/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stderr] 56: 0x7ff484c62ac3 - [INFO] [stderr] 57: 0x7ff484cf3bf4 - __clone [INFO] [stderr] 58: 0x0 - [INFO] [stderr] [INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md [INFO] [stderr] [INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nalgebra-0.19.0/rustc-ice-2023-12-08T02_21_03-1753.txt`: Read-only file system (os error 30) [INFO] [stderr] [INFO] [stderr] note: rustc 1.76.0-nightly (eb3956d47 2023-12-07) running on x86_64-unknown-linux-gnu [INFO] [stderr] [INFO] [stderr] note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 [INFO] [stderr] [INFO] [stderr] note: some of the compiler flags provided by cargo are hidden [INFO] [stderr] [INFO] [stderr] query stack during panic: [INFO] [stderr] #0 [orphan_check_impl] checking whether impl `base::ops::` follows the orphan rules [INFO] [stderr] #1 [coherent_trait] coherence checking all impls of trait `core::iter::traits::accum::Sum` [INFO] [stderr] #2 [analysis] running analysis passes on this crate [INFO] [stderr] end of query stack [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nalgebra` (lib) due to 1 previous error [INFO] running `Command { std: "docker" "inspect" "08c2aa3a382ced473c0bdc9062954eb4bd48684336aab6b605fae0695079729a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08c2aa3a382ced473c0bdc9062954eb4bd48684336aab6b605fae0695079729a", kill_on_drop: false }` [INFO] [stdout] 08c2aa3a382ced473c0bdc9062954eb4bd48684336aab6b605fae0695079729a