[INFO] cloning repository https://github.com/f0ursqu4r3/st-test-1 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/f0ursqu4r3/st-test-1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ff0ursqu4r3%2Fst-test-1", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ff0ursqu4r3%2Fst-test-1'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a0c296d47c43a6e7c48dca45d838691c9a7b01fd [INFO] linting f0ursqu4r3/st-test-1 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ff0ursqu4r3%2Fst-test-1" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/f0ursqu4r3/st-test-1 [INFO] finished tweaking git repo https://github.com/f0ursqu4r3/st-test-1 [INFO] tweaked toml for git repo https://github.com/f0ursqu4r3/st-test-1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/f0ursqu4r3/st-test-1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/f0ursqu4r3/st-test-1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded second-stack v0.3.5 [INFO] [stderr] Downloaded spacetimedb v1.2.0 [INFO] [stderr] Downloaded spacetimedb-lib v1.2.0 [INFO] [stderr] Downloaded chlorine v1.0.13 [INFO] [stderr] Downloaded decorum v0.3.1 [INFO] [stderr] Downloaded serde_with_macros v3.13.0 [INFO] [stderr] Downloaded mint v0.5.9 [INFO] [stderr] Downloaded spacetimedb-sdk v1.2.0 [INFO] [stderr] Downloaded imgui v0.12.0 [INFO] [stderr] Downloaded brotli-decompressor v2.5.1 [INFO] [stderr] Downloaded serde_with v3.13.0 [INFO] [stderr] Downloaded spacetimedb-client-api-messages v1.2.0 [INFO] [stderr] Downloaded prettyplease v0.2.35 [INFO] [stderr] Downloaded libloading v0.8.8 [INFO] [stderr] Downloaded spacetimedb-bindings-sys v1.2.0 [INFO] [stderr] Downloaded spacetimedb-bindings-macro v1.2.0 [INFO] [stderr] Downloaded slab v0.4.10 [INFO] [stderr] Downloaded ref-cast v1.0.24 [INFO] [stderr] Downloaded bumpalo v3.18.1 [INFO] [stderr] Downloaded spacetimedb-metrics v1.2.0 [INFO] [stderr] Downloaded bytestring v1.4.0 [INFO] [stderr] Downloaded protobuf v2.28.0 [INFO] [stderr] Downloaded cc v1.2.27 [INFO] [stderr] Downloaded raylib_imgui v1.0.1 [INFO] [stderr] Downloaded windows-targets v0.53.2 [INFO] [stderr] Downloaded raylib v5.5.1 [INFO] [stderr] Downloaded anymap v0.12.1 [INFO] [stderr] Downloaded bytemuck v1.23.1 [INFO] [stderr] Downloaded spacetimedb-sats v1.2.0 [INFO] [stderr] Downloaded spacetimedb-primitives v1.2.0 [INFO] [stderr] Downloaded flate2 v1.1.2 [INFO] [stderr] Downloaded rustc-demangle v0.1.25 [INFO] [stderr] Downloaded tokio-tungstenite v0.26.2 [INFO] [stderr] Downloaded glam v0.30.4 [INFO] [stderr] Downloaded spacetimedb-data-structures v1.2.0 [INFO] [stderr] Downloaded humantime v2.2.0 [INFO] [stderr] Downloaded ref-cast-impl v1.0.24 [INFO] [stderr] Downloaded brotli v3.5.0 [INFO] [stderr] Downloaded imgui-sys v0.12.0 [INFO] [stderr] Downloaded raylib-sys v5.5.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ba434eae0971e612a676c3e11b7fd5d176d2348ffd0bd7e4839b66cbbe7e95c4 [INFO] running `Command { std: "docker" "start" "-a" "ba434eae0971e612a676c3e11b7fd5d176d2348ffd0bd7e4839b66cbbe7e95c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba434eae0971e612a676c3e11b7fd5d176d2348ffd0bd7e4839b66cbbe7e95c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba434eae0971e612a676c3e11b7fd5d176d2348ffd0bd7e4839b66cbbe7e95c4", kill_on_drop: false }` [INFO] [stdout] ba434eae0971e612a676c3e11b7fd5d176d2348ffd0bd7e4839b66cbbe7e95c4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 71c44b631d1323807d1d61992fed054bdcc0bf9b4af472e03745bf210ccca8e1 [INFO] running `Command { std: "docker" "start" "-a" "71c44b631d1323807d1d61992fed054bdcc0bf9b4af472e03745bf210ccca8e1", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling cc v1.2.27 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling prettyplease v0.2.35 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Compiling libloading v0.8.8 [INFO] [stderr] Checking second-stack v0.3.5 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling spacetimedb-lib v1.2.0 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling bindgen v0.70.1 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Checking decorum v0.3.1 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Compiling imgui-sys v0.12.0 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking spacetimedb-primitives v1.2.0 [INFO] [stderr] Checking data-encoding v2.9.0 [INFO] [stderr] Checking chlorine v1.0.13 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking mint v0.5.9 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Checking spacetimedb-bindings-sys v1.2.0 [INFO] [stderr] Checking anymap v0.12.1 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking home v0.5.11 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Compiling client v0.1.0 (/opt/rustwide/workdir/client) [INFO] [stderr] Checking glam v0.30.4 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling spacetimedb-bindings-macro v1.2.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Checking tokio v1.45.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking spacetimedb-data-structures v1.2.0 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking spacetimedb-metrics v1.2.0 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde_with_macros v3.13.0 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking tungstenite v0.26.2 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tokio-tungstenite v0.26.2 [INFO] [stderr] Compiling raylib-sys v5.5.1 [INFO] [stderr] Checking ethnum v1.5.2 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking bytestring v1.4.0 [INFO] [stderr] Checking serde_with v3.13.0 [INFO] [stderr] Checking spacetimedb-sats v1.2.0 [INFO] [stderr] Checking imgui v0.12.0 [INFO] [stderr] Checking spacetimedb-client-api-messages v1.2.0 [INFO] [stderr] Checking spacetimedb v1.2.0 [INFO] [stderr] Checking spacetimedb-sdk v1.2.0 [INFO] [stderr] Checking spacetime-module v0.1.0 (/opt/rustwide/workdir/server) [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(_) = ctx.db.transform_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^------------------------------------------------------------ help: try: `if ctx.db.transform_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:32:72 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(_) = ctx.db.transform_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:33:61 [INFO] [stdout] | [INFO] [stdout] 33 | ctx.db.transform_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:35:16 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(_) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^--------------------------------------------------------- help: try: `if ctx.db.player_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:35:69 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(_) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:36:58 [INFO] [stdout] | [INFO] [stdout] 36 | ctx.db.player_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(_) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^------------------------------------------------------------ help: try: `if ctx.db.networked_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:38:72 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(_) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:39:61 [INFO] [stdout] | [INFO] [stdout] 39 | ctx.db.networked_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(_) = ctx.db.sprite_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^--------------------------------------------------------- help: try: `if ctx.db.sprite_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:41:69 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(_) = ctx.db.sprite_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:42:58 [INFO] [stdout] | [INFO] [stdout] 42 | ctx.db.sprite_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(_) = ctx.db.velocity_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^----------------------------------------------------------- help: try: `if ctx.db.velocity_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:44:71 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(_) = ctx.db.velocity_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:45:60 [INFO] [stdout] | [INFO] [stdout] 45 | ctx.db.velocity_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:49:37 [INFO] [stdout] | [INFO] [stdout] 49 | ctx.db.entity().id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:67:59 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(state) = ctx.db.ecs_state().id().find(&0) { [INFO] [stdout] | ^^ help: change this to: `0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:34:79 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:62:79 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:76:84 [INFO] [stdout] | [INFO] [stdout] 76 | if let Some(mut transform) = ctx.db.transform_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/reducers.rs:78:36 [INFO] [stdout] | [INFO] [stdout] 78 | transform.position.x = new_x.max(0.0).min(800.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_x.clamp(0.0, 800.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/reducers.rs:79:36 [INFO] [stdout] | [INFO] [stdout] 79 | transform.position.y = new_y.max(0.0).min(600.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_y.clamp(0.0, 600.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:82:83 [INFO] [stdout] | [INFO] [stdout] 82 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:95:88 [INFO] [stdout] | [INFO] [stdout] 95 | if let Some(mut networked) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:110:83 [INFO] [stdout] | [INFO] [stdout] 110 | if let Some(mut player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:131:83 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity.id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:132:88 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(transform) = ctx.db.transform_component().entity_id().find(&entity.id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:157:83 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(mut player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:175:88 [INFO] [stdout] | [INFO] [stdout] 175 | if let Some(mut networked) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:189:78 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(mut sprite) = ctx.db.sprite_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:217:82 [INFO] [stdout] | [INFO] [stdout] 217 | if let Some(mut velocity) = ctx.db.velocity_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:100:86 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(velocity) = ctx.db.velocity_component().entity_id().find(&entity.id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:102:71 [INFO] [stdout] | [INFO] [stdout] 102 | ctx.db.transform_component().entity_id().find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:122:36 [INFO] [stdout] | [INFO] [stdout] 122 | transform.position.x = transform.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:123:36 [INFO] [stdout] | [INFO] [stdout] 123 | transform.position.y = transform.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:179:27 [INFO] [stdout] | [INFO] [stdout] 179 | .find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:183:71 [INFO] [stdout] | [INFO] [stdout] 183 | ctx.db.transform_component().entity_id().find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:185:90 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(sprite) = ctx.db.sprite_component().entity_id().find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:230:50 [INFO] [stdout] | [INFO] [stdout] 230 | new_transform_a.position.x = new_transform_a.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_a.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:231:50 [INFO] [stdout] | [INFO] [stdout] 231 | new_transform_a.position.y = new_transform_a.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_a.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:232:50 [INFO] [stdout] | [INFO] [stdout] 232 | new_transform_b.position.x = new_transform_b.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_b.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | new_transform_b.position.y = new_transform_b.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_b.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(_) = ctx.db.transform_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^------------------------------------------------------------ help: try: `if ctx.db.transform_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:32:72 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(_) = ctx.db.transform_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:33:61 [INFO] [stdout] | [INFO] [stdout] 33 | ctx.db.transform_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:35:16 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(_) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^--------------------------------------------------------- help: try: `if ctx.db.player_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:35:69 [INFO] [stdout] | [INFO] [stdout] 35 | if let Some(_) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:36:58 [INFO] [stdout] | [INFO] [stdout] 36 | ctx.db.player_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(_) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^------------------------------------------------------------ help: try: `if ctx.db.networked_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:38:72 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(_) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:39:61 [INFO] [stdout] | [INFO] [stdout] 39 | ctx.db.networked_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(_) = ctx.db.sprite_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^--------------------------------------------------------- help: try: `if ctx.db.sprite_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:41:69 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(_) = ctx.db.sprite_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:42:58 [INFO] [stdout] | [INFO] [stdout] 42 | ctx.db.sprite_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_some()` [INFO] [stdout] --> server/src/entities.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(_) = ctx.db.velocity_component().entity_id().find(&entity_id) { [INFO] [stdout] | -------^^^^^^^----------------------------------------------------------- help: try: `if ctx.db.velocity_component().entity_id().find(&entity_id).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:44:71 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(_) = ctx.db.velocity_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:45:60 [INFO] [stdout] | [INFO] [stdout] 45 | ctx.db.velocity_component().entity_id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:49:37 [INFO] [stdout] | [INFO] [stdout] 49 | ctx.db.entity().id().delete(&entity_id); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/entities.rs:67:59 [INFO] [stdout] | [INFO] [stdout] 67 | if let Some(state) = ctx.db.ecs_state().id().find(&0) { [INFO] [stdout] | ^^ help: change this to: `0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:34:79 [INFO] [stdout] | [INFO] [stdout] 34 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:62:79 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:76:84 [INFO] [stdout] | [INFO] [stdout] 76 | if let Some(mut transform) = ctx.db.transform_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/reducers.rs:78:36 [INFO] [stdout] | [INFO] [stdout] 78 | transform.position.x = new_x.max(0.0).min(800.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_x.clamp(0.0, 800.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/reducers.rs:79:36 [INFO] [stdout] | [INFO] [stdout] 79 | transform.position.y = new_y.max(0.0).min(600.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_y.clamp(0.0, 600.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:82:83 [INFO] [stdout] | [INFO] [stdout] 82 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:95:88 [INFO] [stdout] | [INFO] [stdout] 95 | if let Some(mut networked) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:110:83 [INFO] [stdout] | [INFO] [stdout] 110 | if let Some(mut player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:131:83 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(player_comp) = ctx.db.player_component().entity_id().find(&entity.id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:132:88 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(transform) = ctx.db.transform_component().entity_id().find(&entity.id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:157:83 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(mut player_comp) = ctx.db.player_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:175:88 [INFO] [stdout] | [INFO] [stdout] 175 | if let Some(mut networked) = ctx.db.networked_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:189:78 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(mut sprite) = ctx.db.sprite_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/reducers.rs:217:82 [INFO] [stdout] | [INFO] [stdout] 217 | if let Some(mut velocity) = ctx.db.velocity_component().entity_id().find(&entity_id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:100:86 [INFO] [stdout] | [INFO] [stdout] 100 | if let Some(velocity) = ctx.db.velocity_component().entity_id().find(&entity.id) { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:102:71 [INFO] [stdout] | [INFO] [stdout] 102 | ctx.db.transform_component().entity_id().find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:122:36 [INFO] [stdout] | [INFO] [stdout] 122 | transform.position.x = transform.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:123:36 [INFO] [stdout] | [INFO] [stdout] 123 | transform.position.y = transform.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:179:27 [INFO] [stdout] | [INFO] [stdout] 179 | .find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:183:71 [INFO] [stdout] | [INFO] [stdout] 183 | ctx.db.transform_component().entity_id().find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> server/src/systems.rs:185:90 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(sprite) = ctx.db.sprite_component().entity_id().find(&entity.id) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `entity.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:230:50 [INFO] [stdout] | [INFO] [stdout] 230 | new_transform_a.position.x = new_transform_a.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_a.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:231:50 [INFO] [stdout] | [INFO] [stdout] 231 | new_transform_a.position.y = new_transform_a.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_a.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:232:50 [INFO] [stdout] | [INFO] [stdout] 232 | new_transform_b.position.x = new_transform_b.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_b.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> server/src/systems.rs:233:50 [INFO] [stdout] | [INFO] [stdout] 233 | new_transform_b.position.y = new_transform_b.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `new_transform_b.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking raylib v5.5.1 [INFO] [stderr] Checking raylib_imgui v1.0.1 [INFO] [stdout] warning: struct `Camera` is never constructed [INFO] [stdout] --> client/src/camera.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Camera { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> client/src/camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Camera { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn update(&mut self, dt: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn follow(&mut self, target: Vector2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn shake(&mut self, intensity: f32, duration: f32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_effective_position(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn to_raylib_camera(&self, screen_width: f32, screen_height: f32) -> Camera2D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn screen_to_world( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_visible_bounds(&self, screen_width: f32, screen_height: f32) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_transform`, `get_transform_mut`, `add_velocity`, `get_velocity`, and `get_sprite` are never used [INFO] [stdout] --> client/src/ecs.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl World { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_transform(&self, entity: EntityId) -> Option<&Transform> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn get_transform_mut(&mut self, entity: EntityId) -> Option<&mut Transform> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn add_velocity(&mut self, entity: EntityId, velocity: Vec3) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_velocity(&self, entity: EntityId) -> Option<&Velocity> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_sprite(&self, entity: EntityId) -> Option<&Sprite> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `position_2d`, `scale_2d`, and `rotation_2d` are never used [INFO] [stdout] --> client/src/ecs.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 154 | impl Transform { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 155 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn position_2d(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn scale_2d(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn rotation_2d(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `zero` is never used [INFO] [stdout] --> client/src/ecs.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 230 | impl Velocity { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn zero() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_tint`, and `with_layer` are never used [INFO] [stdout] --> client/src/ecs.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 259 | impl Sprite { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 260 | pub fn new(texture_name: &str, width: f32, height: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn with_tint(mut self, color: Color) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | pub fn with_layer(mut self, layer: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_player_identity` and `remote_players` are never read [INFO] [stdout] --> client/src/multiplayer_scene.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct MultiplayerScene { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | local_player_identity: Option, // Track local player's identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | remote_players: HashMap, // Map from player identity to entity ID [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_local_player_identity` and `render_ui` are never used [INFO] [stdout] --> client/src/multiplayer_scene.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl MultiplayerScene { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn get_local_player_identity(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn render_ui(&self, d: &mut RaylibDrawHandle) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `move_player`, `set_player_name`, `update_player_health`, and `set_player_sprite` are never used [INFO] [stdout] --> client/src/network.rs:281:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl NetworkManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn move_player(&self, x: f32, y: f32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn set_player_name(&self, name: String) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn update_player_health( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn set_player_sprite( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> client/src/server_ecs_adapter.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ServerEcsAdapter { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn get_client_entity_id(&self, server_entity_id: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn find_local_player_entity(&self, world: &World) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn get_player_name(&self, world: &World, client_entity_id: EntityId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn is_local_player(&self, world: &World, client_entity_id: EntityId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn get_all_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn get_all_players_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn get_all_networked_components(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_all_networked_components_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugPlayerInfo` is never constructed [INFO] [stdout] --> client/src/server_ecs_adapter.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 363 | pub struct DebugPlayerInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugSpriteInfo` is never constructed [INFO] [stdout] --> client/src/server_ecs_adapter.rs:372:12 [INFO] [stdout] | [INFO] [stdout] 372 | pub struct DebugSpriteInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugNetworkedComponent` is never constructed [INFO] [stdout] --> client/src/server_ecs_adapter.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct DebugNetworkedComponent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp` is never used [INFO] [stdout] --> client/src/utils.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn lerp(a: f32, b: f32, t: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp_vector2` is never used [INFO] [stdout] --> client/src/utils.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lerp_vector2(a: Vector2, b: Vector2, t: f32) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rect` is never constructed [INFO] [stdout] --> client/src/utils.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Rect { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_center`, and `intersects` are never used [INFO] [stdout] --> client/src/utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Rect { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(x: f32, y: f32, width: f32, height: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn from_center(center: Vector2, width: f32, height: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn intersects(&self, other: &Rect) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_f32` is never used [INFO] [stdout] --> client/src/utils.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn random_f32() -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_range` is never used [INFO] [stdout] --> client/src/utils.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn random_range(min: f32, max: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Camera` is never constructed [INFO] [stdout] --> client/src/camera.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Camera { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> client/src/camera.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Camera { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn update(&mut self, dt: f32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn follow(&mut self, target: Vector2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn shake(&mut self, intensity: f32, duration: f32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_effective_position(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn to_raylib_camera(&self, screen_width: f32, screen_height: f32) -> Camera2D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn screen_to_world( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_visible_bounds(&self, screen_width: f32, screen_height: f32) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_transform`, `get_transform_mut`, `add_velocity`, `get_velocity`, and `get_sprite` are never used [INFO] [stdout] --> client/src/ecs.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl World { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_transform(&self, entity: EntityId) -> Option<&Transform> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn get_transform_mut(&mut self, entity: EntityId) -> Option<&mut Transform> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn add_velocity(&mut self, entity: EntityId, velocity: Vec3) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_velocity(&self, entity: EntityId) -> Option<&Velocity> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_sprite(&self, entity: EntityId) -> Option<&Sprite> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `position_2d`, `scale_2d`, and `rotation_2d` are never used [INFO] [stdout] --> client/src/ecs.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 154 | impl Transform { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 155 | pub fn new(x: f32, y: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn position_2d(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn scale_2d(&self) -> Vector2 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn rotation_2d(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `zero` is never used [INFO] [stdout] --> client/src/ecs.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 230 | impl Velocity { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn zero() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_tint`, and `with_layer` are never used [INFO] [stdout] --> client/src/ecs.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 259 | impl Sprite { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 260 | pub fn new(texture_name: &str, width: f32, height: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn with_tint(mut self, color: Color) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | pub fn with_layer(mut self, layer: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `local_player_identity` and `remote_players` are never read [INFO] [stdout] --> client/src/multiplayer_scene.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct MultiplayerScene { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | local_player_identity: Option, // Track local player's identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | remote_players: HashMap, // Map from player identity to entity ID [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_local_player_identity` and `render_ui` are never used [INFO] [stdout] --> client/src/multiplayer_scene.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl MultiplayerScene { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | fn get_local_player_identity(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn render_ui(&self, d: &mut RaylibDrawHandle) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `move_player`, `set_player_name`, `update_player_health`, and `set_player_sprite` are never used [INFO] [stdout] --> client/src/network.rs:281:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl NetworkManager { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn move_player(&self, x: f32, y: f32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn set_player_name(&self, name: String) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn update_player_health( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn set_player_sprite( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> client/src/server_ecs_adapter.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ServerEcsAdapter { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn get_client_entity_id(&self, server_entity_id: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn find_local_player_entity(&self, world: &World) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn get_player_name(&self, world: &World, client_entity_id: EntityId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn is_local_player(&self, world: &World, client_entity_id: EntityId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn get_all_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn get_all_players_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn get_all_networked_components(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_all_networked_components_with_context( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugPlayerInfo` is never constructed [INFO] [stdout] --> client/src/server_ecs_adapter.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 363 | pub struct DebugPlayerInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugSpriteInfo` is never constructed [INFO] [stdout] --> client/src/server_ecs_adapter.rs:372:12 [INFO] [stdout] | [INFO] [stdout] 372 | pub struct DebugSpriteInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DebugNetworkedComponent` is never constructed [INFO] [stdout] --> client/src/server_ecs_adapter.rs:377:12 [INFO] [stdout] | [INFO] [stdout] 377 | pub struct DebugNetworkedComponent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp` is never used [INFO] [stdout] --> client/src/utils.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn lerp(a: f32, b: f32, t: f32) -> f32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp_vector2` is never used [INFO] [stdout] --> client/src/utils.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lerp_vector2(a: Vector2, b: Vector2, t: f32) -> Vector2 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rect` is never constructed [INFO] [stdout] --> client/src/utils.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Rect { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_center`, and `intersects` are never used [INFO] [stdout] --> client/src/utils.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Rect { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(x: f32, y: f32, width: f32, height: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn from_center(center: Vector2, width: f32, height: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn intersects(&self, other: &Rect) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_f32` is never used [INFO] [stdout] --> client/src/utils.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn random_f32() -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_range` is never used [INFO] [stdout] --> client/src/utils.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn random_range(min: f32, max: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | / if let Ok(network_manager) = network_manager.lock() { [INFO] [stdout] 29 | | if let Some(identity) = network_manager.get_identity() { [INFO] [stdout] 30 | | server_adapter.set_local_identity(identity); [INFO] [stdout] 31 | | } [INFO] [stdout] 32 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 28 ~ if let Ok(network_manager) = network_manager.lock() [INFO] [stdout] 29 ~ && let Some(identity) = network_manager.get_identity() { [INFO] [stdout] 30 | server_adapter.set_local_identity(identity); [INFO] [stdout] 31 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | / if self.local_player_identity.is_none() { [INFO] [stdout] 85 | | if let Ok(network_manager) = self.network_manager.lock() { [INFO] [stdout] 86 | | self.local_player_identity = network_manager.get_identity(); [INFO] [stdout] 87 | | } [INFO] [stdout] 88 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 84 ~ if self.local_player_identity.is_none() [INFO] [stdout] 85 ~ && let Ok(network_manager) = self.network_manager.lock() { [INFO] [stdout] 86 | self.local_player_identity = network_manager.get_identity(); [INFO] [stdout] 87 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | / if let Some(local_player) = self.local_player { [INFO] [stdout] 155 | | if let Some(transform) = self.world.get_transform(local_player) { [INFO] [stdout] 156 | | d.draw_text( [INFO] [stdout] 157 | | &format!( [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 154 ~ if let Some(local_player) = self.local_player [INFO] [stdout] 155 ~ && let Some(transform) = self.world.get_transform(local_player) { [INFO] [stdout] 156 | d.draw_text( [INFO] [stdout] ... [INFO] [stdout] 165 | ); [INFO] [stdout] 166 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> client/src/multiplayer_scene.rs:248:40 [INFO] [stdout] | [INFO] [stdout] 248 | transform.position.x = transform.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> client/src/multiplayer_scene.rs:249:40 [INFO] [stdout] | [INFO] [stdout] 249 | transform.position.y = transform.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:339:17 [INFO] [stdout] | [INFO] [stdout] 339 | / if let Ok(mut adapter) = self.server_adapter.lock() { [INFO] [stdout] 340 | | if !adapter.has_local_identity() { [INFO] [stdout] 341 | | adapter.set_local_identity(identity); [INFO] [stdout] 342 | | } [INFO] [stdout] 343 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 339 ~ if let Ok(mut adapter) = self.server_adapter.lock() [INFO] [stdout] 340 ~ && !adapter.has_local_identity() { [INFO] [stdout] 341 | adapter.set_local_identity(identity); [INFO] [stdout] 342 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:346:13 [INFO] [stdout] | [INFO] [stdout] 346 | / if let Some(connection) = network_manager.get_connection() { [INFO] [stdout] 347 | | if let Ok(mut adapter) = self.server_adapter.lock() { [INFO] [stdout] 348 | | adapter.sync_from_server(&mut self.world, &connection.db); [INFO] [stdout] 349 | | } [INFO] [stdout] 350 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 346 ~ if let Some(connection) = network_manager.get_connection() [INFO] [stdout] 347 ~ && let Ok(mut adapter) = self.server_adapter.lock() { [INFO] [stdout] 348 | adapter.sync_from_server(&mut self.world, &connection.db); [INFO] [stdout] 349 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> client/src/multiplayer_scene.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | / match network_manager.process_messages() { [INFO] [stdout] 362 | | Ok(updates) => updates, [INFO] [stdout] 363 | | Err(_e) => { [INFO] [stdout] ... | [INFO] [stdout] 367 | | } [INFO] [stdout] | |_____________^ help: ascribe the type std::vec::Vec and replace your expression with: `network_manager.process_messages().unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> client/src/server_ecs_adapter.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | / if !self [INFO] [stdout] 96 | | .server_to_client_entities [INFO] [stdout] 97 | | .contains_key(&server_entity.id) [INFO] [stdout] ... | [INFO] [stdout] 103 | | .insert(client_entity_id, server_entity.id); [INFO] [stdout] 104 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 95 ~ if let std::collections::hash_map::Entry::Vacant(e) = self [INFO] [stdout] 96 + .server_to_client_entities.entry(server_entity.id) { [INFO] [stdout] 97 + let client_entity_id = world.create_entity(); [INFO] [stdout] 98 + e.insert(client_entity_id); [INFO] [stdout] 99 + self.client_to_server_entities [INFO] [stdout] 100 + .insert(client_entity_id, server_entity.id); [INFO] [stdout] 101 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> client/src/utils.rs:52:38 [INFO] [stdout] | [INFO] [stdout] 52 | static RNG_STATE: RefCell = RefCell::new(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(1) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | / if let Ok(network_manager) = network_manager.lock() { [INFO] [stdout] 29 | | if let Some(identity) = network_manager.get_identity() { [INFO] [stdout] 30 | | server_adapter.set_local_identity(identity); [INFO] [stdout] 31 | | } [INFO] [stdout] 32 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 28 ~ if let Ok(network_manager) = network_manager.lock() [INFO] [stdout] 29 ~ && let Some(identity) = network_manager.get_identity() { [INFO] [stdout] 30 | server_adapter.set_local_identity(identity); [INFO] [stdout] 31 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | / if self.local_player_identity.is_none() { [INFO] [stdout] 85 | | if let Ok(network_manager) = self.network_manager.lock() { [INFO] [stdout] 86 | | self.local_player_identity = network_manager.get_identity(); [INFO] [stdout] 87 | | } [INFO] [stdout] 88 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 84 ~ if self.local_player_identity.is_none() [INFO] [stdout] 85 ~ && let Ok(network_manager) = self.network_manager.lock() { [INFO] [stdout] 86 | self.local_player_identity = network_manager.get_identity(); [INFO] [stdout] 87 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | / if let Some(local_player) = self.local_player { [INFO] [stdout] 155 | | if let Some(transform) = self.world.get_transform(local_player) { [INFO] [stdout] 156 | | d.draw_text( [INFO] [stdout] 157 | | &format!( [INFO] [stdout] ... | [INFO] [stdout] 167 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 154 ~ if let Some(local_player) = self.local_player [INFO] [stdout] 155 ~ && let Some(transform) = self.world.get_transform(local_player) { [INFO] [stdout] 156 | d.draw_text( [INFO] [stdout] ... [INFO] [stdout] 165 | ); [INFO] [stdout] 166 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> client/src/multiplayer_scene.rs:248:40 [INFO] [stdout] | [INFO] [stdout] 248 | transform.position.x = transform.position.x.max(16.0).min(784.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.x.clamp(16.0, 784.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] = note: `#[warn(clippy::manual_clamp)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: clamp-like pattern without using clamp function [INFO] [stdout] --> client/src/multiplayer_scene.rs:249:40 [INFO] [stdout] | [INFO] [stdout] 249 | transform.position.y = transform.position.y.max(16.0).min(584.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with clamp: `transform.position.y.clamp(16.0, 584.0)` [INFO] [stdout] | [INFO] [stdout] = note: clamp will panic if max < min, min.is_nan(), or max.is_nan() [INFO] [stdout] = note: clamp returns NaN if the input is NaN [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_clamp [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:339:17 [INFO] [stdout] | [INFO] [stdout] 339 | / if let Ok(mut adapter) = self.server_adapter.lock() { [INFO] [stdout] 340 | | if !adapter.has_local_identity() { [INFO] [stdout] 341 | | adapter.set_local_identity(identity); [INFO] [stdout] 342 | | } [INFO] [stdout] 343 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 339 ~ if let Ok(mut adapter) = self.server_adapter.lock() [INFO] [stdout] 340 ~ && !adapter.has_local_identity() { [INFO] [stdout] 341 | adapter.set_local_identity(identity); [INFO] [stdout] 342 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> client/src/multiplayer_scene.rs:346:13 [INFO] [stdout] | [INFO] [stdout] 346 | / if let Some(connection) = network_manager.get_connection() { [INFO] [stdout] 347 | | if let Ok(mut adapter) = self.server_adapter.lock() { [INFO] [stdout] 348 | | adapter.sync_from_server(&mut self.world, &connection.db); [INFO] [stdout] 349 | | } [INFO] [stdout] 350 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 346 ~ if let Some(connection) = network_manager.get_connection() [INFO] [stdout] 347 ~ && let Ok(mut adapter) = self.server_adapter.lock() { [INFO] [stdout] 348 | adapter.sync_from_server(&mut self.world, &connection.db); [INFO] [stdout] 349 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> client/src/multiplayer_scene.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | / match network_manager.process_messages() { [INFO] [stdout] 362 | | Ok(updates) => updates, [INFO] [stdout] 363 | | Err(_e) => { [INFO] [stdout] ... | [INFO] [stdout] 367 | | } [INFO] [stdout] | |_____________^ help: ascribe the type std::vec::Vec and replace your expression with: `network_manager.process_messages().unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stdout] --> client/src/server_ecs_adapter.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | / if !self [INFO] [stdout] 96 | | .server_to_client_entities [INFO] [stdout] 97 | | .contains_key(&server_entity.id) [INFO] [stdout] ... | [INFO] [stdout] 103 | | .insert(client_entity_id, server_entity.id); [INFO] [stdout] 104 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 95 ~ if let std::collections::hash_map::Entry::Vacant(e) = self [INFO] [stdout] 96 + .server_to_client_entities.entry(server_entity.id) { [INFO] [stdout] 97 + let client_entity_id = world.create_entity(); [INFO] [stdout] 98 + e.insert(client_entity_id); [INFO] [stdout] 99 + self.client_to_server_entities [INFO] [stdout] 100 + .insert(client_entity_id, server_entity.id); [INFO] [stdout] 101 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: initializer for `thread_local` value can be made `const` [INFO] [stdout] --> client/src/utils.rs:52:38 [INFO] [stdout] | [INFO] [stdout] 52 | static RNG_STATE: RefCell = RefCell::new(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `const { RefCell::new(1) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_thread_local [INFO] [stdout] = note: `#[warn(clippy::missing_const_for_thread_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s [INFO] running `Command { std: "docker" "inspect" "71c44b631d1323807d1d61992fed054bdcc0bf9b4af472e03745bf210ccca8e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71c44b631d1323807d1d61992fed054bdcc0bf9b4af472e03745bf210ccca8e1", kill_on_drop: false }` [INFO] [stdout] 71c44b631d1323807d1d61992fed054bdcc0bf9b4af472e03745bf210ccca8e1