[INFO] cloning repository https://github.com/cascad/cs2d [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cascad/cs2d" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcascad%2Fcs2d", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcascad%2Fcs2d'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 15d06abc65f79e0f73ee511817d0adf631d8a2be [INFO] checking cascad/cs2d against master#0ee5907d597b02afadb5daa26a60fedb72f098d1 for pr-152856 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcascad%2Fcs2d" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cascad/cs2d [INFO] finished tweaking git repo https://github.com/cascad/cs2d [INFO] tweaked toml for git repo https://github.com/cascad/cs2d written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cascad/cs2d on toolchain 0ee5907d597b02afadb5daa26a60fedb72f098d1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0ee5907d597b02afadb5daa26a60fedb72f098d1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/cascad/cs2d 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" "+0ee5907d597b02afadb5daa26a60fedb72f098d1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded prettyplease v0.2.36 [INFO] [stderr] Downloaded bevy_quinnet v0.17.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0ee5907d597b02afadb5daa26a60fedb72f098d1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3e989269a88317c242a382e87f105f3ee5b0aed060b312a9fda3d7e9c0dbaa4b [INFO] running `Command { std: "docker" "start" "-a" "3e989269a88317c242a382e87f105f3ee5b0aed060b312a9fda3d7e9c0dbaa4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e989269a88317c242a382e87f105f3ee5b0aed060b312a9fda3d7e9c0dbaa4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e989269a88317c242a382e87f105f3ee5b0aed060b312a9fda3d7e9c0dbaa4b", kill_on_drop: false }` [INFO] [stdout] 3e989269a88317c242a382e87f105f3ee5b0aed060b312a9fda3d7e9c0dbaa4b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0ee5907d597b02afadb5daa26a60fedb72f098d1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ab5b8a6c3f592f385800599b66ec0b1f653f7cc8ea35bc38ea0b57fa6ea052e8 [INFO] running `Command { std: "docker" "start" "-a" "ab5b8a6c3f592f385800599b66ec0b1f653f7cc8ea35bc38ea0b57fa6ea052e8", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking event-listener v5.4.0 [INFO] [stderr] Checking futures-lite v2.6.0 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking num-traits v0.2.19 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking downcast-rs v2.0.1 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Checking async-executor v1.13.2 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking tinyvec v1.9.0 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Checking const_panic v0.2.13 [INFO] [stderr] Checking euclid v0.22.11 [INFO] [stderr] Checking twox-hash v2.1.1 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Checking ruzstd v0.8.1 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Checking async-fs v2.1.3 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling litrs v0.4.2 [INFO] [stderr] Checking guillotiere v0.6.2 [INFO] [stderr] Checking sysinfo v0.34.2 [INFO] [stderr] Checking unicode-ident v1.0.18 [INFO] [stderr] Checking offset-allocator v0.2.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Compiling document-features v0.2.11 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Checking alsa-sys v0.3.1 [INFO] [stderr] Checking memmap2 v0.9.7 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Compiling winit v0.30.11 [INFO] [stderr] Checking accesskit v0.18.0 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Checking ttf-parser v0.21.1 [INFO] [stderr] Checking unicode-bidi-mirroring v0.2.0 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking unicode-properties v0.1.3 [INFO] [stderr] Checking fontdb v0.16.2 [INFO] [stderr] Checking libudev-sys v0.1.4 [INFO] [stderr] Checking x11-dl v2.21.0 [INFO] [stderr] Checking ogg v0.8.0 [INFO] [stderr] Checking self_cell v1.2.0 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking rangemap v1.6.0 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking sys-locale v0.3.2 [INFO] [stderr] Compiling rustls v0.23.29 [INFO] [stderr] Compiling bevy_macro_utils v0.16.1 [INFO] [stderr] Compiling encase_derive_impl v0.10.0 [INFO] [stderr] Checking dpi v0.1.2 [INFO] [stderr] Compiling gilrs v0.11.0 [INFO] [stderr] Checking lewton v0.10.2 [INFO] [stderr] Checking grid v0.15.0 [INFO] [stderr] Checking rustls-native-certs v0.8.1 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking taffy v0.7.7 [INFO] [stderr] Compiling quinn-udp v0.5.13 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Compiling quinn v0.11.8 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling bytemuck_derive v1.10.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling variadics_please v1.1.0 [INFO] [stderr] Compiling bevy_reflect_derive v0.16.1 [INFO] [stderr] Compiling assert_type_match v0.1.1 [INFO] [stderr] Compiling bevy_ecs_macros v0.16.1 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling bevy_derive v0.16.1 [INFO] [stderr] Checking thiserror v2.0.12 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling bevy_asset_macros v0.16.1 [INFO] [stderr] Compiling encase_derive v0.10.0 [INFO] [stderr] Checking image v0.25.6 [INFO] [stderr] Compiling bevy_encase_derive v0.16.1 [INFO] [stderr] Compiling bevy_render_macros v0.16.1 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking font-types v0.9.0 [INFO] [stderr] Compiling gltf-derive v1.4.1 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Checking read-fonts v0.29.3 [INFO] [stderr] Checking derive_more v1.0.0 [INFO] [stderr] Checking rustls-webpki v0.103.4 [INFO] [stderr] Compiling bevy_state_macros v0.16.1 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Compiling bevy_gizmos_macros v0.16.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking tokio v1.46.1 [INFO] [stderr] Checking rcgen v0.13.2 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking fastbloom v0.9.0 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking glam v0.29.3 [INFO] [stderr] Checking erased-serde v0.4.6 [INFO] [stderr] Checking wgpu-types v24.0.0 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking bevy_platform v0.16.1 [INFO] [stderr] Checking bevy_utils v0.16.1 [INFO] [stderr] Checking bevy_tasks v0.16.1 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Checking petgraph v0.7.1 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking naga v24.0.0 [INFO] [stderr] Checking ctrlc v3.4.7 [INFO] [stderr] Checking alsa v0.9.1 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking skrifa v0.31.3 [INFO] [stderr] Checking inotify v0.11.0 [INFO] [stderr] Checking rustybuzz v0.14.1 [INFO] [stderr] Checking gilrs-core v0.6.4 [INFO] [stderr] Checking gltf-json v1.4.1 [INFO] [stderr] Checking rodio v0.20.1 [INFO] [stderr] Checking polling v3.9.0 [INFO] [stderr] Checking swash v0.2.5 [INFO] [stderr] Checking rustls-platform-verifier v0.5.3 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking quinn-proto v0.11.12 [INFO] [stderr] Checking bevy_reflect v0.16.1 [INFO] [stderr] Checking encase v0.10.0 [INFO] [stderr] Checking hexasphere v15.1.0 [INFO] [stderr] Checking bevy_mikktspace v0.16.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking gltf v1.4.1 [INFO] [stderr] Checking wgpu-hal v24.0.4 [INFO] [stderr] Checking naga_oil v0.17.1 [INFO] [stderr] Checking cosmic-text v0.13.2 [INFO] [stderr] Checking accesskit_winit v0.25.0 [INFO] [stderr] Checking wgpu-core v24.0.5 [INFO] [stderr] Checking bevy_ecs v0.16.1 [INFO] [stderr] Checking bevy_math v0.16.1 [INFO] [stderr] Checking wgpu v24.0.5 [INFO] [stderr] Checking bevy_color v0.16.2 [INFO] [stderr] Checking bevy_app v0.16.1 [INFO] [stderr] Checking bevy_log v0.16.1 [INFO] [stderr] Checking bevy_input v0.16.1 [INFO] [stderr] Checking bevy_asset v0.16.1 [INFO] [stderr] Checking bevy_time v0.16.1 [INFO] [stderr] Checking bevy_a11y v0.16.1 [INFO] [stderr] Checking bevy_state v0.16.1 [INFO] [stderr] Checking bevy_transform v0.16.1 [INFO] [stderr] Checking bevy_diagnostic v0.16.1 [INFO] [stderr] Checking bevy_window v0.16.1 [INFO] [stderr] Checking bevy_gilrs v0.16.1 [INFO] [stderr] Checking bevy_image v0.16.1 [INFO] [stderr] Checking bevy_audio v0.16.1 [INFO] [stderr] Checking bevy_input_focus v0.16.1 [INFO] [stderr] Checking bevy_mesh v0.16.1 [INFO] [stderr] Checking bevy_winit v0.16.1 [INFO] [stderr] Checking bevy_render v0.16.1 [INFO] [stderr] Checking bevy_core_pipeline v0.16.1 [INFO] [stderr] Checking bevy_picking v0.16.1 [INFO] [stderr] Checking bevy_scene v0.16.1 [INFO] [stderr] Checking bevy_animation v0.16.1 [INFO] [stderr] Checking bevy_sprite v0.16.1 [INFO] [stderr] Checking bevy_pbr v0.16.1 [INFO] [stderr] Checking bevy_text v0.16.1 [INFO] [stderr] Checking bevy_ui v0.16.1 [INFO] [stderr] Checking bevy_gltf v0.16.1 [INFO] [stderr] Checking bevy_gizmos v0.16.1 [INFO] [stderr] Checking bevy_internal v0.16.1 [INFO] [stderr] Checking bevy v0.16.1 [INFO] [stderr] Checking bevy_quinnet v0.17.0 [INFO] [stderr] Checking protocol v0.1.0 (/opt/rustwide/workdir/protocol) [INFO] [stderr] Checking client v0.1.0 (/opt/rustwide/workdir/client) [INFO] [stderr] Checking server v0.1.0 (/opt/rustwide/workdir/server) [INFO] [stdout] warning: unused imports: `GRENADE_SPEED` and `GRENADE_TIMER` [INFO] [stdout] --> server/src/systems/process_c2s.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | CH_C2S, CH_S2C, GRENADE_RADIUS, GRENADE_SPEED, GRENADE_TIMER, GRENADE_USAGE_COOLDOWN, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TILE_SIZE` [INFO] [stdout] --> server/src/systems/wall.rs:3:54 [INFO] [stdout] | [INFO] [stdout] 3 | use protocol::constants::{LEVEL_HEIGHT, LEVEL_WIDTH, TILE_SIZE, WALL_THICKNESS}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> server/src/utils.rs:6:33 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{HashMap, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wall::spawn_level_server` [INFO] [stdout] --> server/src/main.rs:25:68 [INFO] [stdout] | [INFO] [stdout] 25 | level_fixed::setup_fixed_level, spawn::process_player_respawn, wall::spawn_level_server, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GRENADE_SPEED` and `GRENADE_TIMER` [INFO] [stdout] --> server/src/systems/process_c2s.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | CH_C2S, CH_S2C, GRENADE_RADIUS, GRENADE_SPEED, GRENADE_TIMER, GRENADE_USAGE_COOLDOWN, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TILE_SIZE` [INFO] [stdout] --> server/src/systems/wall.rs:3:54 [INFO] [stdout] | [INFO] [stdout] 3 | use protocol::constants::{LEVEL_HEIGHT, LEVEL_WIDTH, TILE_SIZE, WALL_THICKNESS}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VecDeque` [INFO] [stdout] --> server/src/utils.rs:6:33 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{HashMap, VecDeque}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wall::spawn_level_server` [INFO] [stdout] --> server/src/main.rs:25:68 [INFO] [stdout] | [INFO] [stdout] 25 | level_fixed::setup_fixed_level, spawn::process_player_respawn, wall::spawn_level_server, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::resources::MyPlayer` [INFO] [stdout] --> client/src/components.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::resources::MyPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bevy::prelude::*` [INFO] [stdout] --> client/src/constants.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bevy::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BULLET_TTL` [INFO] [stdout] --> client/src/systems/shoot.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::constants::{BULLET_SPEED, BULLET_TTL}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MOVE_SPEED` and `TICK_DT` [INFO] [stdout] --> client/src/systems/utils.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use protocol::constants::{MOVE_SPEED, TICK_DT}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputState` [INFO] [stdout] --> client/src/systems/utils.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use protocol::messages::{InputState, Stance}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stance_color` [INFO] [stdout] --> client/src/systems/interpolate_with_snapshot.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::systems::utils::{lerp_angle, stance_color, time_in_seconds}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::resources::MyPlayer` [INFO] [stdout] --> client/src/components.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::resources::MyPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bevy::prelude::*` [INFO] [stdout] --> client/src/constants.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use bevy::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BULLET_TTL` [INFO] [stdout] --> client/src/systems/shoot.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::constants::{BULLET_SPEED, BULLET_TTL}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MOVE_SPEED` and `TICK_DT` [INFO] [stdout] --> client/src/systems/utils.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use protocol::constants::{MOVE_SPEED, TICK_DT}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputState` [INFO] [stdout] --> client/src/systems/utils.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use protocol::messages::{InputState, Stance}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `stance_color` [INFO] [stdout] --> client/src/systems/interpolate_with_snapshot.rs:3:41 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::systems::utils::{lerp_angle, stance_color, time_in_seconds}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> server/src/utils.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | current: &std::collections::HashMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> server/src/utils.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | current: &std::collections::HashMap, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pos` and `vel` are never read [INFO] [stdout] --> server/src/resources.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct GrenadeState { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | pub pos: Vec2, [INFO] [stdout] | ^^^ [INFO] [stdout] 52 | pub vel: Vec2, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> server/src/resources.rs:92:23 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct SolidTiles(pub std::collections::HashSet); [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_level_server` is never used [INFO] [stdout] --> server/src/systems/wall.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn spawn_level_server(mut commands: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pos` and `vel` are never read [INFO] [stdout] --> server/src/resources.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct GrenadeState { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | pub pos: Vec2, [INFO] [stdout] | ^^^ [INFO] [stdout] 52 | pub vel: Vec2, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> server/src/resources.rs:92:23 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct SolidTiles(pub std::collections::HashSet); [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_level_server` is never used [INFO] [stdout] --> server/src/systems/wall.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn spawn_level_server(mut commands: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `bevy::prelude::Query::<'w, 's, D, F>::get_single_mut`: Please use `single_mut` instead [INFO] [stdout] --> client/src/systems/camera.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | let Ok(mut cam_tf) = q_cam.get_single_mut() else { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `bevy::prelude::Query::<'w, 's, D, F>::get_single_mut`: Please use `single_mut` instead [INFO] [stdout] --> client/src/systems/camera.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | let Ok((mut proj, mut cam_tf)) = q_cam.get_single_mut() else { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `bevy::prelude::Query::<'w, 's, D, F>::get_single`: Please use `single` instead [INFO] [stdout] --> client/src/systems/camera.rs:194:25 [INFO] [stdout] | [INFO] [stdout] 194 | let Ok(win) = q_win.get_single() else { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `bevy::prelude::Query::<'w, 's, D, F>::get_single_mut`: Please use `single_mut` instead [INFO] [stdout] --> client/src/systems/camera.rs:161:32 [INFO] [stdout] | [INFO] [stdout] 161 | let Ok(mut cam_tf) = q_cam.get_single_mut() else { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `bevy::prelude::Query::<'w, 's, D, F>::get_single_mut`: Please use `single_mut` instead [INFO] [stdout] --> client/src/systems/camera.rs:191:44 [INFO] [stdout] | [INFO] [stdout] 191 | let Ok((mut proj, mut cam_tf)) = q_cam.get_single_mut() else { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `bevy::prelude::Query::<'w, 's, D, F>::get_single`: Please use `single` instead [INFO] [stdout] --> client/src/systems/camera.rs:194:25 [INFO] [stdout] | [INFO] [stdout] 194 | let Ok(win) = q_win.get_single() else { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/startup.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn setup(mut commands: Commands, mut client: ResMut) { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> client/src/systems/startup.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn setup(mut commands: Commands, mut client: ResMut) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/shoot.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | mut commands: Commands, [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commands` [INFO] [stdout] --> client/src/systems/shoot.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | mut commands: Commands, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/startup.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn setup(mut commands: Commands, mut client: ResMut) { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> client/src/systems/startup.rs:5:38 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn setup(mut commands: Commands, mut client: ResMut) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/shoot.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | mut commands: Commands, [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `commands` [INFO] [stdout] --> client/src/systems/shoot.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | mut commands: Commands, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commands` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_id` [INFO] [stdout] --> client/src/systems/utils.rs:29:45 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn spawn_hp_ui(commands: &mut Commands, player_id: u64, hp: u32, font: Handle) -> Entity { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/interpolate_with_snapshot.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | for (mut t, mut s, marker) in q.iter_mut() { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> client/src/systems/interpolate_with_snapshot.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | for (mut t, mut s, marker) in q.iter_mut() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_id` [INFO] [stdout] --> client/src/systems/utils.rs:29:45 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn spawn_hp_ui(commands: &mut Commands, player_id: u64, hp: u32, font: Handle) -> Entity { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/spawn_damage_popups.rs:49:34 [INFO] [stdout] | [INFO] [stdout] 49 | for (ent, mut popup, mut tf, mut text, mut color) in q.iter_mut() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> client/src/systems/spawn_damage_popups.rs:49:34 [INFO] [stdout] | [INFO] [stdout] 49 | for (ent, mut popup, mut tf, mut text, mut color) in q.iter_mut() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/sync_hp_ui.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mut hp_ui_map: ResMut, [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] --> client/src/systems/interpolate_with_snapshot.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | for (mut t, mut s, marker) in q.iter_mut() { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> client/src/systems/interpolate_with_snapshot.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | for (mut t, mut s, marker) in q.iter_mut() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/connecting_pump.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | let Some(mut conn) = client.get_connection_mut() else { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> client/src/systems/connecting_pump.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | let Some(id) = conn_id.and_then(|c| c.0) else { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/spawn_damage_popups.rs:49:34 [INFO] [stdout] | [INFO] [stdout] 49 | for (ent, mut popup, mut tf, mut text, mut color) in q.iter_mut() { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> client/src/systems/spawn_damage_popups.rs:49:34 [INFO] [stdout] | [INFO] [stdout] 49 | for (ent, mut popup, mut tf, mut text, mut color) in q.iter_mut() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/systems/sync_hp_ui.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mut hp_ui_map: ResMut, [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] --> client/src/systems/connecting_pump.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | let Some(mut conn) = client.get_connection_mut() else { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> client/src/systems/connecting_pump.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | let Some(id) = conn_id.and_then(|c| c.0) else { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> client/src/menu.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | mut timeout: Option>, [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] --> client/src/menu.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | mut timeout: Option>, [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Health` is never constructed [INFO] [stdout] --> client/src/components.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Health(pub i32); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from`, `dir`, `speed`, `timer`, and `blast_radius` are never read [INFO] [stdout] --> client/src/components.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Grenade { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 22 | pub id: u64, [INFO] [stdout] 23 | pub from: Vec2, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | /// Нормализованное направление полёта [INFO] [stdout] 25 | pub dir: Vec2, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | /// Скорость (пикселей в секунду) [INFO] [stdout] 27 | pub speed: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | /// Таймер до взрыва [INFO] [stdout] 29 | pub timer: Timer, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | /// Радиус взрыва (в тех же единицах, что и мир) [INFO] [stdout] 31 | pub blast_radius: f32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `killer` is never read [INFO] [stdout] --> client/src/events.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PlayerDied { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub victim: u64, [INFO] [stdout] 8 | pub killer: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> client/src/resources/mod.rs:45:27 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct HeartbeatTimer(pub Timer); [INFO] [stdout] | -------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectedPlayers` is never constructed [INFO] [stdout] --> client/src/resources/mod.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct ConnectedPlayers(pub HashSet); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> client/src/resources/mod.rs:89:24 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct SpawnPoints(pub Vec); [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `SpawnPoints` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectError` is never constructed [INFO] [stdout] --> client/src/resources/mod.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct ConnectError(pub Option); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExplosionTextures` is never constructed [INFO] [stdout] --> client/src/resources/explosion_textures.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ExplosionTextures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> client/src/resources/grenades.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ClientGrenades(pub HashMap); [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stance_color` is never used [INFO] [stdout] --> client/src/systems/utils.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn stance_color(s: &Stance) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tile_aabb` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn tile_aabb(tile: IVec2) -> (Vec2, Vec2) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp2` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn clamp2(p: Vec2, min: Vec2, max: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collide_circle_with_rects` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn collide_circle_with_rects(center: Vec2, r: f32, rects: &[(Vec2, Vec2)]) -> Option<(Vec2, Vec2)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_circle_mesh` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn generate_circle_mesh(radius: f32, segments: usize) -> Mesh { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collide_circle_with_wall_precise` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:206:4 [INFO] [stdout] | [INFO] [stdout] 206 | fn collide_circle_with_wall_precise( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collide_circle_with_walls` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:265:4 [INFO] [stdout] | [INFO] [stdout] 265 | fn collide_circle_with_walls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp_vec2` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn clamp_vec2(p: Vec2, min: Vec2, max: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_level_client` is never used [INFO] [stdout] --> client/src/systems/level.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn spawn_level_client(mut commands: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sync_local_and_tint` is never used [INFO] [stdout] --> client/src/systems/sync_local.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn sync_local_and_tint( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `follow_player_camera_hard` is never used [INFO] [stdout] --> client/src/systems/camera.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn follow_player_camera_hard( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `snap_camera_on_player_spawn` is never used [INFO] [stdout] --> client/src/systems/camera.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn snap_camera_on_player_spawn( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Health` is never constructed [INFO] [stdout] --> client/src/components.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Health(pub i32); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `from`, `dir`, `speed`, `timer`, and `blast_radius` are never read [INFO] [stdout] --> client/src/components.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Grenade { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 22 | pub id: u64, [INFO] [stdout] 23 | pub from: Vec2, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | /// Нормализованное направление полёта [INFO] [stdout] 25 | pub dir: Vec2, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | /// Скорость (пикселей в секунду) [INFO] [stdout] 27 | pub speed: f32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | /// Таймер до взрыва [INFO] [stdout] 29 | pub timer: Timer, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 30 | /// Радиус взрыва (в тех же единицах, что и мир) [INFO] [stdout] 31 | pub blast_radius: f32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `killer` is never read [INFO] [stdout] --> client/src/events.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct PlayerDied { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 7 | pub victim: u64, [INFO] [stdout] 8 | pub killer: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> client/src/resources/mod.rs:45:27 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct HeartbeatTimer(pub Timer); [INFO] [stdout] | -------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectedPlayers` is never constructed [INFO] [stdout] --> client/src/resources/mod.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct ConnectedPlayers(pub HashSet); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> client/src/resources/mod.rs:89:24 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct SpawnPoints(pub Vec); [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `SpawnPoints` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConnectError` is never constructed [INFO] [stdout] --> client/src/resources/mod.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct ConnectError(pub Option); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExplosionTextures` is never constructed [INFO] [stdout] --> client/src/resources/explosion_textures.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ExplosionTextures { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> client/src/resources/grenades.rs:16:27 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ClientGrenades(pub HashMap); [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stance_color` is never used [INFO] [stdout] --> client/src/systems/utils.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn stance_color(s: &Stance) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tile_aabb` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn tile_aabb(tile: IVec2) -> (Vec2, Vec2) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp2` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn clamp2(p: Vec2, min: Vec2, max: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collide_circle_with_rects` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn collide_circle_with_rects(center: Vec2, r: f32, rects: &[(Vec2, Vec2)]) -> Option<(Vec2, Vec2)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_circle_mesh` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn generate_circle_mesh(radius: f32, segments: usize) -> Mesh { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collide_circle_with_wall_precise` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:206:4 [INFO] [stdout] | [INFO] [stdout] 206 | fn collide_circle_with_wall_precise( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collide_circle_with_walls` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:265:4 [INFO] [stdout] | [INFO] [stdout] 265 | fn collide_circle_with_walls( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp_vec2` is never used [INFO] [stdout] --> client/src/systems/grenade_lifecycle.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn clamp_vec2(p: Vec2, min: Vec2, max: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_level_client` is never used [INFO] [stdout] --> client/src/systems/level.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn spawn_level_client(mut commands: Commands) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sync_local_and_tint` is never used [INFO] [stdout] --> client/src/systems/sync_local.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn sync_local_and_tint( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `follow_player_camera_hard` is never used [INFO] [stdout] --> client/src/systems/camera.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn follow_player_camera_hard( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `snap_camera_on_player_spawn` is never used [INFO] [stdout] --> client/src/systems/camera.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn snap_camera_on_player_spawn( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7m 45s [INFO] running `Command { std: "docker" "inspect" "ab5b8a6c3f592f385800599b66ec0b1f653f7cc8ea35bc38ea0b57fa6ea052e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab5b8a6c3f592f385800599b66ec0b1f653f7cc8ea35bc38ea0b57fa6ea052e8", kill_on_drop: false }` [INFO] [stdout] ab5b8a6c3f592f385800599b66ec0b1f653f7cc8ea35bc38ea0b57fa6ea052e8