[INFO] cloning repository https://github.com/jackinf/tank-game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jackinf/tank-game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjackinf%2Ftank-game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjackinf%2Ftank-game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9d20f0398e916967d5595647ef081b0e036ad31b
[INFO] checking jackinf/tank-game against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjackinf%2Ftank-game" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jackinf/tank-game
[INFO] finished tweaking git repo https://github.com/jackinf/tank-game
[INFO] tweaked toml for git repo https://github.com/jackinf/tank-game written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jackinf/tank-game on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jackinf/tank-game 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded objc-sys v0.3.2
[INFO] [stderr]   Downloaded raw-window-handle v0.6.0
[INFO] [stderr]   Downloaded event-listener-strategy v0.5.0
[INFO] [stderr]   Downloaded libloading v0.8.2
[INFO] [stderr]   Downloaded ahash v0.8.10
[INFO] [stderr]   Downloaded svgtypes v0.12.0
[INFO] [stderr]   Downloaded num-complex v0.4.5
[INFO] [stderr]   Downloaded iyes_perf_ui v0.2.3
[INFO] [stderr]   Downloaded event-listener v5.2.0
[INFO] [stderr]   Downloaded leafwing-input-manager v0.13.3
[INFO] [stderr]   Downloaded wgpu v0.19.3
[INFO] [stderr]   Downloaded bevy_prototype_lyon v0.11.0
[INFO] [stderr]   Downloaded lyon_tessellation v1.0.13
[INFO] [stderr]   Downloaded sysinfo v0.30.6
[INFO] [stderr]   Downloaded rapier2d v0.18.0
[INFO] [stderr]   Downloaded wgpu-core v0.19.3
[INFO] [stderr]   Downloaded x11rb v0.13.0
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.12
[INFO] [stderr]   Downloaded parry2d v0.13.6
[INFO] [stderr]   Downloaded wgpu-hal v0.19.3
[INFO] [stderr]   Downloaded async-channel v2.2.0
[INFO] [stderr]   Downloaded erased-serde v0.4.3
[INFO] [stderr]   Downloaded leafwing_input_manager_macros v0.13.0
[INFO] [stderr]   Downloaded async-fs v2.1.1
[INFO] [stderr]   Downloaded x11rb-protocol v0.13.0
[INFO] [stderr]   Downloaded accesskit v0.12.2
[INFO] [stderr]   Downloaded web-sys v0.3.67
[INFO] [stderr]   Downloaded polling v3.5.0
[INFO] [stderr]   Downloaded nalgebra v0.32.4
[INFO] [stderr]   Downloaded winit v0.29.13
[INFO] [stderr]   Downloaded bevy_rapier2d v0.25.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6ae677f787a4d1f75d39df2ead2bdd08f5d0495692dcbe2f316e1a01f10cef0e
[INFO] running `Command { std: "docker" "start" "-a" "6ae677f787a4d1f75d39df2ead2bdd08f5d0495692dcbe2f316e1a01f10cef0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ae677f787a4d1f75d39df2ead2bdd08f5d0495692dcbe2f316e1a01f10cef0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ae677f787a4d1f75d39df2ead2bdd08f5d0495692dcbe2f316e1a01f10cef0e", kill_on_drop: false }`
[INFO] [stdout] 6ae677f787a4d1f75d39df2ead2bdd08f5d0495692dcbe2f316e1a01f10cef0e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0df6c5512c79211bb973537d3439ba8f334d7c5d21791f4f7d2d5267d157cf33
[INFO] running `Command { std: "docker" "start" "-a" "0df6c5512c79211bb973537d3439ba8f334d7c5d21791f4f7d2d5267d157cf33", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]    Compiling allocator-api2 v0.2.16
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling ahash v0.8.10
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking parking v2.2.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking async-task v4.7.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking web-time v0.2.4
[INFO] [stderr]     Checking futures-lite v2.2.0
[INFO] [stderr]     Checking bevy_ptr v0.13.2
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]     Checking libloading v0.8.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking raw-window-handle v0.6.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking pp-rs v0.2.1
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking concurrent-queue v2.4.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.12
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking event-listener v4.0.3
[INFO] [stderr]     Checking event-listener v5.2.0
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]     Checking piper v0.2.1
[INFO] [stderr]    Compiling wgpu-hal v0.19.3
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking accesskit v0.12.2
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling syn v2.0.51
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling wgpu-core v0.19.3
[INFO] [stderr]     Checking event-listener-strategy v0.4.0
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.0
[INFO] [stderr]     Checking async-lock v3.3.0
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking async-channel v2.2.0
[INFO] [stderr]    Compiling wgpu v0.19.3
[INFO] [stderr]     Checking const_soft_float v0.1.4
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking data-encoding v2.5.0
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling cc v1.0.88
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking constgebra v0.1.3
[INFO] [stderr]     Checking const_panic v0.2.8
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]    Compiling rustix v0.38.31
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking async-executor v1.8.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking radsort v0.1.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking bevy_tasks v0.13.2
[INFO] [stderr]     Checking svg_fmt v0.4.1
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling winit v0.29.13
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking xkeysym v0.2.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.0
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]    Compiling gilrs v0.10.4
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking grid v0.10.0
[INFO] [stderr]     Checking sysinfo v0.30.6
[INFO] [stderr]     Checking const-fnv1a-hash v1.1.0
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling blake3 v1.5.0
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking taffy v0.3.18
[INFO] [stderr]     Checking lyon_geom v1.0.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking robust v1.1.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking crossbeam-queue v0.3.11
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking kurbo v0.9.5
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking siphasher v0.3.11
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking owned_ttf_parser v0.20.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking ab_glyph v0.2.23
[INFO] [stderr]     Checking lyon_path v1.0.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking svgtypes v0.12.0
[INFO] [stderr]     Checking glyph_brush_layout v0.2.3
[INFO] [stderr]     Checking lyon_algorithms v1.0.4
[INFO] [stderr]     Checking lyon_tessellation v1.0.13
[INFO] [stderr]     Checking tilemap-generator v0.1.0 (/opt/rustwide/workdir/examples/tilemap-generator)
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> examples/tilemap-generator/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     write_tilemap_to_file("apps/tank-game/assets/map3.txt", &tilemap);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let _ = write_tilemap_to_file("apps/tank-game/assets/map3.txt", &tilemap);
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> examples/tilemap-generator/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     write_tilemap_to_file("apps/tank-game/assets/map3_p1_units.txt", &tilemap);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let _ = write_tilemap_to_file("apps/tank-game/assets/map3_p1_units.txt", &tilemap);
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> examples/tilemap-generator/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     write_tilemap_to_file("apps/tank-game/assets/map3_p2_units.txt", &tilemap);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let _ = write_tilemap_to_file("apps/tank-game/assets/map3_p2_units.txt", &tilemap);
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> examples/tilemap-generator/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     write_tilemap_to_file("apps/tank-game/assets/map3.txt", &tilemap);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let _ = write_tilemap_to_file("apps/tank-game/assets/map3.txt", &tilemap);
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> examples/tilemap-generator/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     write_tilemap_to_file("apps/tank-game/assets/map3_p1_units.txt", &tilemap);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let _ = write_tilemap_to_file("apps/tank-game/assets/map3_p1_units.txt", &tilemap);
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> examples/tilemap-generator/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     write_tilemap_to_file("apps/tank-game/assets/map3_p2_units.txt", &tilemap);
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let _ = write_tilemap_to_file("apps/tank-game/assets/map3_p2_units.txt", &tilemap);
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling encase_derive_impl v0.7.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.13.2
[INFO] [stderr]    Compiling encase_derive v0.7.0
[INFO] [stderr]    Compiling gltf-derive v1.4.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking ruzstd v0.5.0
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking blocking v1.5.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]     Checking async-fs v2.1.1
[INFO] [stderr]     Checking wide v0.7.15
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking uuid v1.7.0
[INFO] [stderr]     Checking smol_str v0.2.1
[INFO] [stderr]     Checking erased-serde v0.4.3
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking indexmap v2.2.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking spade v2.6.0
[INFO] [stderr]     Checking gilrs-core v0.5.10
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking gltf-json v1.4.0
[INFO] [stderr]     Checking petgraph v0.6.4
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]     Checking bevy_utils v0.13.2
[INFO] [stderr]    Compiling bevy_macro_utils v0.13.2
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]     Checking gltf v1.4.0
[INFO] [stderr]     Checking bevy_math v0.13.2
[INFO] [stderr]     Checking hexasphere v10.0.0
[INFO] [stderr]     Checking bevy_mikktspace v0.13.2
[INFO] [stderr]     Checking encase v0.7.0
[INFO] [stderr]     Checking nalgebra v0.32.4
[INFO] [stderr]    Compiling bevy_reflect_derive v0.13.2
[INFO] [stderr]    Compiling bevy_ecs_macros v0.13.2
[INFO] [stderr]    Compiling bevy_derive v0.13.2
[INFO] [stderr]    Compiling bevy_asset_macros v0.13.2
[INFO] [stderr]    Compiling bevy_encase_derive v0.13.2
[INFO] [stderr]    Compiling bevy_render_macros v0.13.2
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.13.2
[INFO] [stderr]    Compiling leafwing_input_manager_macros v0.13.0
[INFO] [stderr]     Checking polling v3.5.0
[INFO] [stderr]     Checking x11rb v0.13.0
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking bevy_reflect v0.13.2
[INFO] [stderr]     Checking accesskit_winit v0.17.0
[INFO] [stderr]     Checking naga_oil v0.13.0
[INFO] [stderr]     Checking parry2d v0.13.6
[INFO] [stderr]     Checking bevy_ecs v0.13.2
[INFO] [stderr]     Checking rapier2d v0.18.0
[INFO] [stderr]     Checking bevy_app v0.13.2
[INFO] [stderr]     Checking bevy_log v0.13.2
[INFO] [stderr]     Checking bevy_core v0.13.2
[INFO] [stderr]     Checking bevy_input v0.13.2
[INFO] [stderr]     Checking bevy_time v0.13.2
[INFO] [stderr]     Checking bevy_a11y v0.13.2
[INFO] [stderr]     Checking bevy_asset v0.13.2
[INFO] [stderr]     Checking bevy_hierarchy v0.13.2
[INFO] [stderr]     Checking bevy_diagnostic v0.13.2
[INFO] [stderr]     Checking bevy_transform v0.13.2
[INFO] [stderr]     Checking bevy_window v0.13.2
[INFO] [stderr]     Checking bevy_gilrs v0.13.2
[INFO] [stderr]     Checking bevy_audio v0.13.2
[INFO] [stderr]     Checking bevy_winit v0.13.2
[INFO] [stderr]     Checking bevy_render v0.13.2
[INFO] [stderr]     Checking bevy_core_pipeline v0.13.2
[INFO] [stderr]     Checking bevy_animation v0.13.2
[INFO] [stderr]     Checking bevy_scene v0.13.2
[INFO] [stderr]     Checking bevy_sprite v0.13.2
[INFO] [stderr]     Checking bevy_pbr v0.13.2
[INFO] [stderr]     Checking bevy_text v0.13.2
[INFO] [stderr]     Checking bevy_ui v0.13.2
[INFO] [stderr]     Checking bevy_gltf v0.13.2
[INFO] [stderr]     Checking bevy_gizmos v0.13.2
[INFO] [stderr]     Checking bevy_internal v0.13.2
[INFO] [stderr]     Checking bevy v0.13.2
[INFO] [stderr]     Checking bevy_rapier2d v0.25.0
[INFO] [stderr]     Checking iyes_perf_ui v0.2.3
[INFO] [stderr]     Checking leafwing-input-manager v0.13.3
[INFO] [stderr]     Checking bevy_prototype_lyon v0.11.0
[INFO] [stderr]     Checking tiled v0.1.0 (/opt/rustwide/workdir/apps/tiled)
[INFO] [stderr]     Checking example-ui v0.1.0 (/opt/rustwide/workdir/examples/example-ui)
[INFO] [stderr]     Checking custom-asset v0.1.0 (/opt/rustwide/workdir/examples/custom-asset)
[INFO] [stderr]     Checking sandbox v0.1.0 (/opt/rustwide/workdir/examples/sandbox)
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> examples/sandbox/src/features/animation/systems/play_explosion.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::{Query, Res, ResMut, TextureAtlas, Time};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Camera2dBundle`
[INFO] [stdout]  --> examples/sandbox/src/features/animation/systems/prepare_explosion_animation.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     default, Camera2dBundle, Commands, Res, ResMut, SpriteSheetBundle, TextureAtlas,
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude::*`
[INFO] [stdout]   --> examples/sandbox/src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bevy::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> examples/sandbox/src/main.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |         .add_plugins((DefaultPlugins.set(ImagePlugin::default_nearest())))
[INFO] [stdout]    |                      ^                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -         .add_plugins((DefaultPlugins.set(ImagePlugin::default_nearest())))
[INFO] [stdout] 14 +         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> examples/sandbox/src/features/animation/systems/play_explosion.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::{Query, Res, ResMut, TextureAtlas, Time};
[INFO] [stdout]   |                                 ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Camera2dBundle`
[INFO] [stdout]  --> examples/sandbox/src/features/animation/systems/prepare_explosion_animation.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     default, Camera2dBundle, Commands, Res, ResMut, SpriteSheetBundle, TextureAtlas,
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude::*`
[INFO] [stdout]   --> examples/sandbox/src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bevy::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> examples/sandbox/src/main.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |         .add_plugins((DefaultPlugins.set(ImagePlugin::default_nearest())))
[INFO] [stdout]    |                      ^                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -         .add_plugins((DefaultPlugins.set(ImagePlugin::default_nearest())))
[INFO] [stdout] 14 +         .add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_assets`
[INFO] [stdout]    --> examples/custom-asset/src/main.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     main_assets: Res<Assets<Tileset>>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_assets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `main_assets` and `printed` are never read
[INFO] [stdout]    --> examples/custom-asset/src/main.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct State {
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     main_assets: Handle<Tileset>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     printed: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_on_load` is never used
[INFO] [stdout]    --> examples/custom-asset/src/main.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn print_on_load(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/tiled/src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     mut asset_server: Res<AssetServer>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TiledState` is more private than the item `setup_load_tile`
[INFO] [stdout]    --> apps/tiled/src/main.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn setup_load_tile(mut state: ResMut<TiledState>, asset_server: Res<AssetServer>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `setup_load_tile` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TiledState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> apps/tiled/src/main.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | struct TiledState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TiledState` is more private than the item `sys_draw_level`
[INFO] [stdout]    --> apps/tiled/src/main.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / pub fn sys_draw_level(
[INFO] [stdout] 150 | |     mut commands: Commands,
[INFO] [stdout] 151 | |     mut asset_server: Res<AssetServer>,
[INFO] [stdout] 152 | |     tiled_state: Res<TiledState>,
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 156 | | ) {
[INFO] [stdout]     | |_^ function `sys_draw_level` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TiledState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> apps/tiled/src/main.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | struct TiledState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AppState` is more private than the item `sys_draw_level`
[INFO] [stdout]    --> apps/tiled/src/main.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / pub fn sys_draw_level(
[INFO] [stdout] 150 | |     mut commands: Commands,
[INFO] [stdout] 151 | |     mut asset_server: Res<AssetServer>,
[INFO] [stdout] 152 | |     tiled_state: Res<TiledState>,
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 156 | | ) {
[INFO] [stdout]     | |_^ function `sys_draw_level` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AppState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> apps/tiled/src/main.rs:49:1
[INFO] [stdout]     |
[INFO] [stdout]  49 | enum AppState {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> apps/tiled/src/main.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 | /         &layer.data.iter().enumerate().for_each(|(index, cell)| {
[INFO] [stdout] 162 | |             if *cell <= 0 {
[INFO] [stdout] 163 | |                 return;
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | |             },));
[INFO] [stdout] 184 | |         });
[INFO] [stdout]     | |__________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let _ = &layer.data.iter().enumerate().for_each(|(index, cell)| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_assets`
[INFO] [stdout]    --> examples/custom-asset/src/main.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     main_assets: Res<Assets<Tileset>>,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_assets`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `main_assets` and `printed` are never read
[INFO] [stdout]    --> examples/custom-asset/src/main.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct State {
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     main_assets: Handle<Tileset>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     printed: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_on_load` is never used
[INFO] [stdout]    --> examples/custom-asset/src/main.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn print_on_load(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> apps/tiled/src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     mut asset_server: Res<AssetServer>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TiledState` is more private than the item `setup_load_tile`
[INFO] [stdout]    --> apps/tiled/src/main.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn setup_load_tile(mut state: ResMut<TiledState>, asset_server: Res<AssetServer>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `setup_load_tile` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TiledState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> apps/tiled/src/main.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | struct TiledState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TiledState` is more private than the item `sys_draw_level`
[INFO] [stdout]    --> apps/tiled/src/main.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / pub fn sys_draw_level(
[INFO] [stdout] 150 | |     mut commands: Commands,
[INFO] [stdout] 151 | |     mut asset_server: Res<AssetServer>,
[INFO] [stdout] 152 | |     tiled_state: Res<TiledState>,
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 156 | | ) {
[INFO] [stdout]     | |_^ function `sys_draw_level` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `TiledState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> apps/tiled/src/main.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | struct TiledState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AppState` is more private than the item `sys_draw_level`
[INFO] [stdout]    --> apps/tiled/src/main.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / pub fn sys_draw_level(
[INFO] [stdout] 150 | |     mut commands: Commands,
[INFO] [stdout] 151 | |     mut asset_server: Res<AssetServer>,
[INFO] [stdout] 152 | |     tiled_state: Res<TiledState>,
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 156 | | ) {
[INFO] [stdout]     | |_^ function `sys_draw_level` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AppState` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> apps/tiled/src/main.rs:49:1
[INFO] [stdout]     |
[INFO] [stdout]  49 | enum AppState {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> apps/tiled/src/main.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 | /         &layer.data.iter().enumerate().for_each(|(index, cell)| {
[INFO] [stdout] 162 | |             if *cell <= 0 {
[INFO] [stdout] 163 | |                 return;
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | |             },));
[INFO] [stdout] 184 | |         });
[INFO] [stdout]     | |__________^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let _ = &layer.data.iter().enumerate().for_each(|(index, cell)| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tank-game v0.1.0 (/opt/rustwide/workdir/apps/tank-game)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> apps/tank-game/src/actions/load_mission.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> apps/tank-game/src/actions/read_main_assets.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt, fs};
[INFO] [stdout]   |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HEALTH_BAR_HEIGHT`
[INFO] [stdout]  --> apps/tank-game/src/features/building/actions/spawn_building.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::constants::{HEALTH_BAR_HEIGHT, SPRITE_SCALE, TILE_SIZE};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> apps/tank-game/src/features/building/components/building.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bevy::prelude::{Component, Rect, Vec2};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TILE_SIZE`
[INFO] [stdout]  --> apps/tank-game/src/features/building/components/building.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::constants::{TileCoord, TileSize, TILE_SIZE};
[INFO] [stdout]   |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MenuInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/building/systems/sys_draw_construction_tiles.rs:4:67
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::features::con_menu::{BuildingConstructionProgressInfo, MenuInfo};
[INFO] [stdout]   |                                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/building/systems/sys_draw_construction_tiles.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         if let (Some(curr_tile)) = info.get_building_tile() {
[INFO] [stdout]    |                                ^               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -                         if let (Some(curr_tile)) = info.get_building_tile() {
[INFO] [stdout] 89 +                         if let Some(curr_tile)  = info.get_building_tile() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConMenuVehicleInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/actions/show_factory_menu_grid.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ConMenuVehicleInfo, UnitConstructionProgressInfo, UnitTileTypeMenuCellInfo,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuildingConstructionProgressInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/actions/show_factory_menu_grid.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::features::con_menu::{BuildingConstructionProgressInfo, SubMenuInfo, SubMenuType};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Resource` and `State`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/components/building_construction_progress_info.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::{Component, Resource, State, Timer, TimerMode};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Resource` and `State`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/components/unit_construction_progress_info.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::{Component, Resource, State, Timer, TimerMode};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `global_con_info::GlobalConInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/resources/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use global_con_info::GlobalConInfo;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::features::building::types::BuildingTileType`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/interact_with_building_construction_menu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::features::building::types::BuildingTileType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/interact_with_building_construction_menu.rs:7:71
[INFO] [stdout]   |
[INFO] [stdout] 7 |     BackgroundColor, Button, Changed, Color, Interaction, Query, Res, ResMut, With,
[INFO] [stdout]   |                                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/interact_with_unit_construction_menu.rs:6:71
[INFO] [stdout]   |
[INFO] [stdout] 6 |     BackgroundColor, Button, Changed, Color, Interaction, Query, Res, ResMut, With,
[INFO] [stdout]   |                                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Res`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/update_power_text.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::prelude::{Query, Res, Text, With};
[INFO] [stdout]   |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TILE_SIZE`
[INFO] [stdout]  --> apps/tank-game/src/features/cursor/resources/cursor_coordinates.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::constants::{TileCoord, TILE_SIZE};
[INFO] [stdout]   |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tile` and `find_accessible_tile_coord`
[INFO] [stdout]  --> apps/tank-game/src/features/cursor/systems/convert_cursor_to_world_position.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::features::tile::{find_accessible_tile_coord, Tile};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssetServer`, `AudioBundle`, `Commands`, `Res`, and `default`
[INFO] [stdout]  --> apps/tank-game/src/features/explosion/event_handlers/trigger_explosion_animation_event_handler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     default, AssetServer, AudioBundle, Commands, EventReader, Query, Res, TextureAtlas, Transform,
[INFO] [stdout]   |     ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::math::Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/harvester/systems/move_harvester.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bevy::math::Vec2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resource`
[INFO] [stdout]  --> apps/tank-game/src/features/monitoring/monitoring_plugin.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{App, Plugin, Resource, Timer, TimerMode, Update};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Children` and `Transform`
[INFO] [stdout]  --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::prelude::{Children, EventWriter, Query, Res, ResMut, Time, Transform};
[INFO] [stdout]   |                     ^^^^^^^^                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         .filter(|(tank)| tank.get_player() == Some(Player::P2))
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 29 -         .filter(|(tank)| tank.get_player() == Some(Player::P2))
[INFO] [stdout] 29 +         .filter(|tank | tank.get_player() == Some(Player::P2))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         .for_each(|(mut tank)| {
[INFO] [stdout]    |                    ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 30 -         .for_each(|(mut tank)| {
[INFO] [stdout] 30 +         .for_each(|mut tank | {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     q_buildings: &Query<(&Building)>,
[INFO] [stdout]    |                         ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 56 -     q_buildings: &Query<(&Building)>,
[INFO] [stdout] 56 +     q_buildings: &Query<&Building >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         .filter(|(tank)| tank.get_player() == Some(Player::P1))
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -         .filter(|(tank)| tank.get_player() == Some(Player::P1))
[INFO] [stdout] 60 +         .filter(|tank | tank.get_player() == Some(Player::P1))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Timer`
[INFO] [stdout]  --> apps/tank-game/src/features/monitoring/systems/sys_spawn_enemy_units.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{EventWriter, Query, Res, Time, Timer};
[INFO] [stdout]   |                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldCoord`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/components/tank.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::constants::{WorldCoord, TILE_SIZE};
[INFO] [stdout]   |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/event_handlers/spawn_harvester_event_handler.rs:5:70
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{AssetServer, Commands, EventReader, Res, ResMut, Vec2};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/event_handlers/spawn_tank_event_handler.rs:4:70
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bevy::prelude::{AssetServer, Commands, EventReader, Res, ResMut, Vec2};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_move_bullets.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         (&mut Sprite),
[INFO] [stdout]    |         ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         (&mut Sprite),
[INFO] [stdout] 43 +         &mut Sprite ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> apps/tank-game/src/features/tank/systems/sys_move_bullets.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     if let Ok((mut sprite)) = q_building_health_bars.get_mut(child) {
[INFO] [stdout]     |                               ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                     if let Ok((mut sprite)) = q_building_health_bars.get_mut(child) {
[INFO] [stdout] 117 +                     if let Ok(mut sprite ) = q_building_health_bars.get_mut(child) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventWriter`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/systems/sys_periodic_shooting.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 |     default, AssetServer, Commands, EventWriter, Query, Res, Time, Transform, Vec2, Vec3Swizzles,
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transform` and `Vec3Swizzles`
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_set_tank_target_position_to_move.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 |     EventReader, KeyCode, MouseButton, Query, Res, Sprite, Transform, Vec3Swizzles, With,
[INFO] [stdout]    |                                                            ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_set_tank_target_position_to_move.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{HashSet, VecDeque};
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_material::CustomMaterial`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/types/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use color_material::CustomMaterial;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Res`
[INFO] [stdout]  --> apps/tank-game/src/features/unit/systems/calculate_selection_rect_coordinates.rs:8:54
[INFO] [stdout]   |
[INFO] [stdout] 8 | use bevy::prelude::{EventReader, MouseButton, Query, Res, ResMut, Sprite, With};
[INFO] [stdout]   |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::constants::TileCoord`
[INFO] [stdout]  --> apps/tank-game/src/features/unit/systems/spawn_units.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::constants::TileCoord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/unit/systems/spawn_units.rs:7:57
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::prelude::{AssetServer, Commands, Res, ResMut, Vec2};
[INFO] [stdout]   |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssetServer`
[INFO] [stdout]  --> apps/tank-game/src/systems/sys_setup_main_assets.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::asset::{AssetServer, Assets};
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::player::Player`
[INFO] [stdout]    --> apps/tank-game/src/main.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | use crate::types::player::Player;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> apps/tank-game/src/actions/load_mission.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs`
[INFO] [stdout]  --> apps/tank-game/src/actions/read_main_assets.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt, fs};
[INFO] [stdout]   |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HEALTH_BAR_HEIGHT`
[INFO] [stdout]  --> apps/tank-game/src/features/building/actions/spawn_building.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::constants::{HEALTH_BAR_HEIGHT, SPRITE_SCALE, TILE_SIZE};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> apps/tank-game/src/features/building/components/building.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bevy::prelude::{Component, Rect, Vec2};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TILE_SIZE`
[INFO] [stdout]  --> apps/tank-game/src/features/building/components/building.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::constants::{TileCoord, TileSize, TILE_SIZE};
[INFO] [stdout]   |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MenuInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/building/systems/sys_draw_construction_tiles.rs:4:67
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::features::con_menu::{BuildingConstructionProgressInfo, MenuInfo};
[INFO] [stdout]   |                                                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/building/systems/sys_draw_construction_tiles.rs:89:32
[INFO] [stdout]    |
[INFO] [stdout] 89 |                         if let (Some(curr_tile)) = info.get_building_tile() {
[INFO] [stdout]    |                                ^               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -                         if let (Some(curr_tile)) = info.get_building_tile() {
[INFO] [stdout] 89 +                         if let Some(curr_tile)  = info.get_building_tile() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConMenuVehicleInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/actions/show_factory_menu_grid.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ConMenuVehicleInfo, UnitConstructionProgressInfo, UnitTileTypeMenuCellInfo,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuildingConstructionProgressInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/actions/show_factory_menu_grid.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::features::con_menu::{BuildingConstructionProgressInfo, SubMenuInfo, SubMenuType};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Resource` and `State`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/components/building_construction_progress_info.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::{Component, Resource, State, Timer, TimerMode};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Resource` and `State`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/components/unit_construction_progress_info.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::{Component, Resource, State, Timer, TimerMode};
[INFO] [stdout]   |                                ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `global_con_info::GlobalConInfo`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/resources/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use global_con_info::GlobalConInfo;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::features::building::types::BuildingTileType`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/interact_with_building_construction_menu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::features::building::types::BuildingTileType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/interact_with_building_construction_menu.rs:7:71
[INFO] [stdout]   |
[INFO] [stdout] 7 |     BackgroundColor, Button, Changed, Color, Interaction, Query, Res, ResMut, With,
[INFO] [stdout]   |                                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/interact_with_unit_construction_menu.rs:6:71
[INFO] [stdout]   |
[INFO] [stdout] 6 |     BackgroundColor, Button, Changed, Color, Interaction, Query, Res, ResMut, With,
[INFO] [stdout]   |                                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Res`
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/systems/update_power_text.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bevy::prelude::{Query, Res, Text, With};
[INFO] [stdout]   |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TILE_SIZE`
[INFO] [stdout]  --> apps/tank-game/src/features/cursor/resources/cursor_coordinates.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::constants::{TileCoord, TILE_SIZE};
[INFO] [stdout]   |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Tile` and `find_accessible_tile_coord`
[INFO] [stdout]  --> apps/tank-game/src/features/cursor/systems/convert_cursor_to_world_position.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::features::tile::{find_accessible_tile_coord, Tile};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssetServer`, `AudioBundle`, `Commands`, `Res`, and `default`
[INFO] [stdout]  --> apps/tank-game/src/features/explosion/event_handlers/trigger_explosion_animation_event_handler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     default, AssetServer, AudioBundle, Commands, EventReader, Query, Res, TextureAtlas, Transform,
[INFO] [stdout]   |     ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::math::Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/harvester/systems/move_harvester.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bevy::math::Vec2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Resource`
[INFO] [stdout]  --> apps/tank-game/src/features/monitoring/monitoring_plugin.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{App, Plugin, Resource, Timer, TimerMode, Update};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Children` and `Transform`
[INFO] [stdout]  --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::prelude::{Children, EventWriter, Query, Res, ResMut, Time, Transform};
[INFO] [stdout]   |                     ^^^^^^^^                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         .filter(|(tank)| tank.get_player() == Some(Player::P2))
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 29 -         .filter(|(tank)| tank.get_player() == Some(Player::P2))
[INFO] [stdout] 29 +         .filter(|tank | tank.get_player() == Some(Player::P2))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         .for_each(|(mut tank)| {
[INFO] [stdout]    |                    ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 30 -         .for_each(|(mut tank)| {
[INFO] [stdout] 30 +         .for_each(|mut tank | {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     q_buildings: &Query<(&Building)>,
[INFO] [stdout]    |                         ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 56 -     q_buildings: &Query<(&Building)>,
[INFO] [stdout] 56 +     q_buildings: &Query<&Building >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_execute_current_tank_strategy.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         .filter(|(tank)| tank.get_player() == Some(Player::P1))
[INFO] [stdout]    |                  ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 60 -         .filter(|(tank)| tank.get_player() == Some(Player::P1))
[INFO] [stdout] 60 +         .filter(|tank | tank.get_player() == Some(Player::P1))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Timer`
[INFO] [stdout]  --> apps/tank-game/src/features/monitoring/systems/sys_spawn_enemy_units.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{EventWriter, Query, Res, Time, Timer};
[INFO] [stdout]   |                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldCoord`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/components/tank.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::constants::{WorldCoord, TILE_SIZE};
[INFO] [stdout]   |                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/event_handlers/spawn_harvester_event_handler.rs:5:70
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{AssetServer, Commands, EventReader, Res, ResMut, Vec2};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/event_handlers/spawn_tank_event_handler.rs:4:70
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bevy::prelude::{AssetServer, Commands, EventReader, Res, ResMut, Vec2};
[INFO] [stdout]   |                                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_move_bullets.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         (&mut Sprite),
[INFO] [stdout]    |         ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 43 -         (&mut Sprite),
[INFO] [stdout] 43 +         &mut Sprite ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> apps/tank-game/src/features/tank/systems/sys_move_bullets.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     if let Ok((mut sprite)) = q_building_health_bars.get_mut(child) {
[INFO] [stdout]     |                               ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                     if let Ok((mut sprite)) = q_building_health_bars.get_mut(child) {
[INFO] [stdout] 117 +                     if let Ok(mut sprite ) = q_building_health_bars.get_mut(child) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventWriter`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/systems/sys_periodic_shooting.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 |     default, AssetServer, Commands, EventWriter, Query, Res, Time, Transform, Vec2, Vec3Swizzles,
[INFO] [stdout]   |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Transform` and `Vec3Swizzles`
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_set_tank_target_position_to_move.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 |     EventReader, KeyCode, MouseButton, Query, Res, Sprite, Transform, Vec3Swizzles, With,
[INFO] [stdout]    |                                                            ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_set_tank_target_position_to_move.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::{HashSet, VecDeque};
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color_material::CustomMaterial`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/types/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use color_material::CustomMaterial;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Res`
[INFO] [stdout]  --> apps/tank-game/src/features/unit/systems/calculate_selection_rect_coordinates.rs:8:54
[INFO] [stdout]   |
[INFO] [stdout] 8 | use bevy::prelude::{EventReader, MouseButton, Query, Res, ResMut, Sprite, With};
[INFO] [stdout]   |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::constants::TileCoord`
[INFO] [stdout]  --> apps/tank-game/src/features/unit/systems/spawn_units.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::constants::TileCoord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec2`
[INFO] [stdout]  --> apps/tank-game/src/features/unit/systems/spawn_units.rs:7:57
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::prelude::{AssetServer, Commands, Res, ResMut, Vec2};
[INFO] [stdout]   |                                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssetServer`
[INFO] [stdout]  --> apps/tank-game/src/systems/sys_setup_main_assets.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::asset::{AssetServer, Assets};
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::player::Player`
[INFO] [stdout]    --> apps/tank-game/src/main.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | use crate::types::player::Player;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude`
[INFO] [stdout]  --> apps/tank-game/src/systems/sys_setup_mission.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::asset::ErasedAssetLoader`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/actions/spawn_tank.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use bevy::asset::ErasedAssetLoader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::utils::petgraph::visit::Walker`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/systems/sys_monitor_for_enemies.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::utils::petgraph::visit::Walker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude`
[INFO] [stdout]  --> apps/tank-game/src/systems/sys_setup_mission.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::asset::ErasedAssetLoader`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/actions/spawn_tank.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use bevy::asset::ErasedAssetLoader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::utils::petgraph::visit::Walker`
[INFO] [stdout]  --> apps/tank-game/src/features/tank/systems/sys_monitor_for_enemies.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bevy::utils::petgraph::visit::Walker;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/con_menu/systems/construction_process.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut time: Res<Time>,
[INFO] [stdout]    |     ----^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/con_menu/systems/construction_process.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut time: Res<Time>,
[INFO] [stdout]    |     ----^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_spawn_enemy_units.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut timer = &mut spawner.spawn_timer;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/event_handlers/set_path_to_target_event_handler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     mut q_buildings: Query<&Building>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_monitor_for_enemies.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut q_buildings: Query<(&mut Building, &Transform), With<Building>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/monitoring/systems/sys_spawn_enemy_units.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut timer = &mut spawner.spawn_timer;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_move_tanks_towards_target.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut q_buildings: Query<
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/event_handlers/set_path_to_target_event_handler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     mut q_buildings: Query<&Building>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_periodic_shooting.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     mut q_buildings: Query<(&mut Building, &Transform), With<Building>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_monitor_for_enemies.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut q_buildings: Query<(&mut Building, &Transform), With<Building>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_move_tanks_towards_target.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     mut q_buildings: Query<
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/features/tank/systems/sys_periodic_shooting.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     mut q_buildings: Query<(&mut Building, &Transform), With<Building>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> apps/tank-game/src/features/unit/systems/spawn_units.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _ => {}
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> apps/tank-game/src/features/unit/systems/spawn_units.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |             UnitTileType::Tank => {
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 29 |             UnitTileType::Harvester => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 39 |             _ => {}
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> apps/tank-game/src/features/unit/systems/spawn_units.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _ => {}
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> apps/tank-game/src/features/unit/systems/spawn_units.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |             UnitTileType::Tank => {
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 29 |             UnitTileType::Harvester => {
[INFO] [stdout]    |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 39 |             _ => {}
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BuildingQueueItem` is more private than the item `BuildingQueue::pop`
[INFO] [stdout]   --> apps/tank-game/src/features/building/types/building_queue.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn pop(&mut self) -> Option<BuildingQueueItem> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `BuildingQueue::pop` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `BuildingQueueItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> apps/tank-game/src/features/building/types/building_queue.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | struct BuildingQueueItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AppState` is more private than the item `sys_setup_main_assets`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_main_assets(
[INFO] [stdout] 13 | |     mut main_asset_info_resource: ResMut<MainAssetInfoResource>,
[INFO] [stdout] 14 | |     mut mission_info_resource: ResMut<MissionInfoResource>,
[INFO] [stdout] 15 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 16 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 17 | |     custom_assets: Res<Assets<SimpleText>>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_main_assets` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `AppState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | enum AppState {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SimpleState` is more private than the item `sys_setup_main_assets`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_main_assets(
[INFO] [stdout] 13 | |     mut main_asset_info_resource: ResMut<MainAssetInfoResource>,
[INFO] [stdout] 14 | |     mut mission_info_resource: ResMut<MissionInfoResource>,
[INFO] [stdout] 15 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 16 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 17 | |     custom_assets: Res<Assets<SimpleText>>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_main_assets` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `SimpleState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct SimpleState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SimpleText` is more private than the item `sys_setup_main_assets`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_main_assets(
[INFO] [stdout] 13 | |     mut main_asset_info_resource: ResMut<MainAssetInfoResource>,
[INFO] [stdout] 14 | |     mut mission_info_resource: ResMut<MissionInfoResource>,
[INFO] [stdout] 15 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 16 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 17 | |     custom_assets: Res<Assets<SimpleText>>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_main_assets` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `SimpleText` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct SimpleText {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SimpleState` is more private than the item `sys_setup_mission`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_mission.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_mission(
[INFO] [stdout] 13 | |     mission_info_resource: Res<MissionInfoResource>,
[INFO] [stdout] 14 | |     mut commands: Commands,
[INFO] [stdout] 15 | |     asset_server: Res<AssetServer>,
[INFO] [stdout] 16 | |     mut unit_id_counter: ResMut<UnitIdCounter>,
[INFO] [stdout] 17 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_mission` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `SimpleState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct SimpleState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bfs_simple` is never used
[INFO] [stdout]  --> apps/tank-game/src/actions/calculate_bfs_simple.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn calculate_bfs_simple(
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `building_type` is never read
[INFO] [stdout]  --> apps/tank-game/src/features/building/types/building_queue.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct BuildingQueueItem {
[INFO] [stdout]   |        ----------------- field in this struct
[INFO] [stdout] 5 |     building_type: BuildingTile,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_ready`, `get_progress`, and `get_building_type` are never used
[INFO] [stdout]   --> apps/tank-game/src/features/building/types/building_queue.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl BuildingQueueItem {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn is_ready(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_progress(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn get_building_type(&self) -> BuildingTile {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConMenuVehicleInfo` is never used
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/components/con_menu_vehicle_info.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ConMenuVehicleInfo {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalConInfo` is never constructed
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/resources/global_con_info.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GlobalConInfo {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `freeze`, `unfreeze`, and `is_frozen` are never used
[INFO] [stdout]   --> apps/tank-game/src/features/con_menu/resources/global_con_info.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl GlobalConInfo {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn freeze(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn unfreeze(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn is_frozen(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ForcedByPlayer` is never constructed
[INFO] [stdout]   --> apps/tank-game/src/features/harvester/components/harvester.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum HarvesterState {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     ForcedByPlayer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HarvesterState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `return_to_tile`, `harvesting_speed`, `health`, and `selected` are never read
[INFO] [stdout]   --> apps/tank-game/src/features/harvester/components/harvester.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Harvester {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 29 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     return_to_tile: Option<TileCoord>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     harvesting_speed: u32, // how many gold per harvesting_cooldown_seconds
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     health: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 42 |     selected: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Harvester` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> apps/tank-game/src/features/harvester/components/harvester.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl Harvester {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout]  67 |     pub fn get_id(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn set_health(&mut self, health: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn get_health(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn set_selected(&mut self, selected: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_selected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_state(&self) -> HarvesterState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_return_to_tile(&self) -> Option<TileCoord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn set_forced_by_player(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current` and `max` are never read
[INFO] [stdout]  --> apps/tank-game/src/features/tank/components/tank_health.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TankHealth {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 6 |     current: f32,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 7 |     max: f32,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_health_bar_width` is never used
[INFO] [stdout]   --> apps/tank-game/src/features/tank/components/tank_health.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TankHealth {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn get_current_health_bar_width(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> apps/tank-game/src/types/raw_mission_layer.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct RawMissionLayer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawMissionLayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `BuildingQueueItem` is more private than the item `BuildingQueue::pop`
[INFO] [stdout]   --> apps/tank-game/src/features/building/types/building_queue.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn pop(&mut self) -> Option<BuildingQueueItem> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `BuildingQueue::pop` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `BuildingQueueItem` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> apps/tank-game/src/features/building/types/building_queue.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | struct BuildingQueueItem {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AppState` is more private than the item `sys_setup_main_assets`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_main_assets(
[INFO] [stdout] 13 | |     mut main_asset_info_resource: ResMut<MainAssetInfoResource>,
[INFO] [stdout] 14 | |     mut mission_info_resource: ResMut<MissionInfoResource>,
[INFO] [stdout] 15 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 16 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 17 | |     custom_assets: Res<Assets<SimpleText>>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_main_assets` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `AppState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | enum AppState {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SimpleState` is more private than the item `sys_setup_main_assets`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_main_assets(
[INFO] [stdout] 13 | |     mut main_asset_info_resource: ResMut<MainAssetInfoResource>,
[INFO] [stdout] 14 | |     mut mission_info_resource: ResMut<MissionInfoResource>,
[INFO] [stdout] 15 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 16 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 17 | |     custom_assets: Res<Assets<SimpleText>>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_main_assets` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `SimpleState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct SimpleState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SimpleText` is more private than the item `sys_setup_main_assets`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_main_assets.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_main_assets(
[INFO] [stdout] 13 | |     mut main_asset_info_resource: ResMut<MainAssetInfoResource>,
[INFO] [stdout] 14 | |     mut mission_info_resource: ResMut<MissionInfoResource>,
[INFO] [stdout] 15 | |     mut state: ResMut<NextState<AppState>>,
[INFO] [stdout] 16 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 17 | |     custom_assets: Res<Assets<SimpleText>>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_main_assets` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `SimpleText` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct SimpleText {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SimpleState` is more private than the item `sys_setup_mission`
[INFO] [stdout]   --> apps/tank-game/src/systems/sys_setup_mission.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub fn sys_setup_mission(
[INFO] [stdout] 13 | |     mission_info_resource: Res<MissionInfoResource>,
[INFO] [stdout] 14 | |     mut commands: Commands,
[INFO] [stdout] 15 | |     asset_server: Res<AssetServer>,
[INFO] [stdout] 16 | |     mut unit_id_counter: ResMut<UnitIdCounter>,
[INFO] [stdout] 17 | |     mut simple_state: ResMut<SimpleState>,
[INFO] [stdout] 18 | | ) {
[INFO] [stdout]    | |_^ function `sys_setup_mission` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `SimpleState` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> apps/tank-game/src/main.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct SimpleState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bfs_simple` is never used
[INFO] [stdout]  --> apps/tank-game/src/actions/calculate_bfs_simple.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn calculate_bfs_simple(
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `building_type` is never read
[INFO] [stdout]  --> apps/tank-game/src/features/building/types/building_queue.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct BuildingQueueItem {
[INFO] [stdout]   |        ----------------- field in this struct
[INFO] [stdout] 5 |     building_type: BuildingTile,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_ready`, `get_progress`, and `get_building_type` are never used
[INFO] [stdout]   --> apps/tank-game/src/features/building/types/building_queue.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl BuildingQueueItem {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn is_ready(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_progress(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn get_building_type(&self) -> BuildingTile {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConMenuVehicleInfo` is never used
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/components/con_menu_vehicle_info.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ConMenuVehicleInfo {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalConInfo` is never constructed
[INFO] [stdout]  --> apps/tank-game/src/features/con_menu/resources/global_con_info.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GlobalConInfo {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `freeze`, `unfreeze`, and `is_frozen` are never used
[INFO] [stdout]   --> apps/tank-game/src/features/con_menu/resources/global_con_info.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl GlobalConInfo {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn freeze(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn unfreeze(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn is_frozen(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ForcedByPlayer` is never constructed
[INFO] [stdout]   --> apps/tank-game/src/features/harvester/components/harvester.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum HarvesterState {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     ForcedByPlayer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HarvesterState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `return_to_tile`, `harvesting_speed`, `health`, and `selected` are never read
[INFO] [stdout]   --> apps/tank-game/src/features/harvester/components/harvester.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Harvester {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 29 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     return_to_tile: Option<TileCoord>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     harvesting_speed: u32, // how many gold per harvesting_cooldown_seconds
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     health: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 42 |     selected: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Harvester` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> apps/tank-game/src/features/harvester/components/harvester.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl Harvester {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout]  67 |     pub fn get_id(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn set_health(&mut self, health: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn get_health(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn set_selected(&mut self, selected: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_selected(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn get_state(&self) -> HarvesterState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn get_return_to_tile(&self) -> Option<TileCoord> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn set_forced_by_player(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current` and `max` are never read
[INFO] [stdout]  --> apps/tank-game/src/features/tank/components/tank_health.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TankHealth {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 6 |     current: f32,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 7 |     max: f32,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_health_bar_width` is never used
[INFO] [stdout]   --> apps/tank-game/src/features/tank/components/tank_health.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl TankHealth {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn get_current_health_bar_width(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> apps/tank-game/src/types/raw_mission_layer.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct RawMissionLayer {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: usize,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RawMissionLayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] running `Command { std: "docker" "inspect" "0df6c5512c79211bb973537d3439ba8f334d7c5d21791f4f7d2d5267d157cf33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0df6c5512c79211bb973537d3439ba8f334d7c5d21791f4f7d2d5267d157cf33", kill_on_drop: false }`
[INFO] [stdout] 0df6c5512c79211bb973537d3439ba8f334d7c5d21791f4f7d2d5267d157cf33
