[INFO] cloning repository https://github.com/growFortress/tank-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/growFortress/tank-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgrowFortress%2Ftank-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgrowFortress%2Ftank-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5dedad84601a7eda6a7785302bcef7f7ad67f117
[INFO] checking growFortress/tank-engine against 8773d2c75a8e90130dcce745a7ec4e66bb9963db+rustflags=-Aunfulfilled-lint-expectations for pr-163637
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgrowFortress%2Ftank-engine" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/growFortress/tank-engine
[INFO] finished tweaking git repo https://github.com/growFortress/tank-engine
[INFO] tweaked toml for git repo https://github.com/growFortress/tank-engine written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/growFortress/tank-engine on toolchain 8773d2c75a8e90130dcce745a7ec4e66bb9963db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/growFortress/tank-engine 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" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72
[INFO] running `Command { std: "docker" "start" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Aunfulfilled-lint-expectations" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72" "/opt/rustwide/cargo-home/bin/cargo" "+8773d2c75a8e90130dcce745a7ec4e66bb9963db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling zerocopy v0.8.37
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling erased-serde v0.4.9
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking bevy_ptr v0.15.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking disqualified v1.0.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking async-executor v1.13.3
[INFO] [stderr]     Checking bevy_tasks v0.15.3
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling naga v23.1.0
[INFO] [stderr]     Checking typewit v1.14.2
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking ctrlc v3.5.1
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking const_panic v0.2.15
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling bevy_macro_utils v0.15.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]    Compiling encase_derive_impl v0.10.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling wgpu-hal v23.0.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking wgpu-types v23.0.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]    Compiling wgpu-core v23.0.1
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking stackfuture v0.3.1
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]    Compiling wgpu v23.0.1
[INFO] [stderr]     Checking zune-core v0.5.0
[INFO] [stderr]     Checking atomicow v1.1.0
[INFO] [stderr]     Checking zune-jpeg v0.5.5
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]     Checking ruzstd v0.7.3
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking sysinfo v0.32.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking offset-allocator v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling zmij v1.0.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking euclid v0.22.13
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.2.0
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking unicode-ccc v0.2.0
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking fontdb v0.16.2
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling gilrs v0.11.1
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking grid v0.14.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking taffy v0.5.2
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.15.3
[INFO] [stderr]    Compiling bevy_reflect_derive v0.15.3
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.15.3
[INFO] [stderr]    Compiling bevy_derive v0.15.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bevy_asset_macros v0.15.3
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling encase_derive v0.10.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]    Compiling bevy_encase_derive v0.15.3
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling bevy_render_macros v0.15.3
[INFO] [stderr]     Checking font-types v0.7.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking read-fonts v0.22.7
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking rustybuzz v0.14.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking rodio v0.19.0
[INFO] [stderr]    Compiling bevy_state_macros v0.15.3
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.15.3
[INFO] [stderr]     Checking skrifa v0.22.3
[INFO] [stderr]     Checking naga_oil v0.16.0
[INFO] [stderr]     Checking glam v0.29.3
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking bevy_utils v0.15.3
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking swash v0.1.19
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking gilrs-core v0.6.7
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking bevy_reflect v0.15.3
[INFO] [stderr]     Checking encase v0.10.0
[INFO] [stderr]     Checking bevy_mikktspace v0.15.3
[INFO] [stderr]     Checking hexasphere v15.1.0
[INFO] [stderr]     Checking cosmic-text v0.12.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking bevy_ecs v0.15.4
[INFO] [stderr]     Checking bevy_math v0.15.3
[INFO] [stderr]     Checking bevy_color v0.15.4
[INFO] [stderr]     Checking bevy_app v0.15.3
[INFO] [stderr]     Checking bevy_core v0.15.3
[INFO] [stderr]     Checking bevy_asset v0.15.3
[INFO] [stderr]     Checking bevy_time v0.15.3
[INFO] [stderr]     Checking bevy_a11y v0.15.3
[INFO] [stderr]     Checking bevy_log v0.15.3
[INFO] [stderr]     Checking bevy_hierarchy v0.15.3
[INFO] [stderr]     Checking bevy_input v0.15.3
[INFO] [stderr]     Checking bevy_transform v0.15.3
[INFO] [stderr]     Checking bevy_state v0.15.3
[INFO] [stderr]     Checking bevy_diagnostic v0.15.3
[INFO] [stderr]     Checking bevy_window v0.15.3
[INFO] [stderr]     Checking bevy_gilrs v0.15.3
[INFO] [stderr]     Checking bevy_image v0.15.3
[INFO] [stderr]     Checking bevy_audio v0.15.3
[INFO] [stderr]     Checking bevy_mesh v0.15.3
[INFO] [stderr]     Checking bevy_winit v0.15.3
[INFO] [stderr]     Checking bevy_render v0.15.3
[INFO] [stderr]     Checking bevy_core_pipeline v0.15.3
[INFO] [stderr]     Checking bevy_picking v0.15.3
[INFO] [stderr]     Checking bevy_animation v0.15.3
[INFO] [stderr]     Checking bevy_scene v0.15.3
[INFO] [stderr]     Checking bevy_sprite v0.15.3
[INFO] [stderr]     Checking bevy_pbr v0.15.3
[INFO] [stderr]     Checking bevy_text v0.15.3
[INFO] [stderr]     Checking bevy_ui v0.15.3
[INFO] [stderr]     Checking bevy_gizmos v0.15.3
[INFO] [stderr]     Checking bevy_gltf v0.15.3
[INFO] [stderr]     Checking bevy_internal v0.15.3
[INFO] [stderr]     Checking bevy v0.15.3
[INFO] [stderr]     Checking tank_3d v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/plugins/tank/model/utils/bevel.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[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: `bevel::*`
[INFO] [stdout]  --> src/plugins/tank/model/utils/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use bevel::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `normals::*`
[INFO] [stdout]  --> src/plugins/tank/model/utils/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use normals::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `builder::*`
[INFO] [stdout]   --> src/plugins/tank/model/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use builder::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/rendering/noise.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/plugins/tank/model/utils/bevel.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{HashMap, HashSet};
[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: `bevel::*`
[INFO] [stdout]  --> src/plugins/tank/model/utils/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use bevel::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `normals::*`
[INFO] [stdout]  --> src/plugins/tank/model/utils/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use normals::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `builder::*`
[INFO] [stdout]   --> src/plugins/tank/model/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use builder::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/rendering/noise.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge_dir`
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let edge_dir = (end - start).normalize();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_dir`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge_dir`
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let edge_dir = (v1 - v0).normalize_or_zero();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge_dir`
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let edge_dir = (end - start).normalize();
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_dir`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge_dir`
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let edge_dir = (v1 - v0).normalize_or_zero();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/rendering/texture_generator.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |             let idx = (y * res + x) as usize;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MeshBuilder` is never used
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait MeshBuilder {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BeveledBox` is never constructed
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BeveledBox {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_bevel`, and `generate_edge_vertices` are never used
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl BeveledBox {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(size: Vec3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn with_bevel(mut self, radius: f32, segments: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn generate_edge_vertices(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DetailedCylinder` is never constructed
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct DetailedCylinder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cone`, `with_segments`, `with_caps`, and `open` are never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl DetailedCylinder {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 325 |     pub fn new(radius: f32, height: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn cone(radius_bottom: f32, radius_top: f32, height: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn with_segments(mut self, radial: u32, height: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn with_caps(mut self, segments: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn open(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RivetPattern` is never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:495:10
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub enum RivetPattern {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RivetedPanel` is never constructed
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub struct RivetedPanel {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_grid_rivets`, `with_edge_rivets`, and `get_rivet_positions` are never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | impl RivetedPanel {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 515 |     pub fn new(size: Vec2, thickness: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |     pub fn with_grid_rivets(mut self, rows: u32, cols: u32, spacing: Vec2) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |     pub fn with_edge_rivets(mut self, count: u32, inset: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn get_rivet_positions(&self) -> Vec<Vec2> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompoundMeshBuilder` is never constructed
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 707 | pub struct CompoundMeshBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, and `add_mesh` are never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:712:12
[INFO] [stdout]     |
[INFO] [stdout] 711 | impl CompoundMeshBuilder {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 712 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn add<T: MeshBuilder>(mut self, builder: T, transform: Transform) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn add_mesh(mut self, mesh: Mesh, transform: Transform) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BevelError` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum BevelError {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Edge(pub u32, pub u32);
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Edge {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(a: u32, b: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeInfo` is never constructed
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct EdgeInfo {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_edges` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn find_edges(mesh: &Mesh) -> Result<Vec<EdgeInfo>, BevelError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chamfer_edges` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn chamfer_edges(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bevel_edges` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub fn bevel_edges(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_boundary_edges` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn find_boundary_edges(mesh: &Mesh) -> Result<Vec<Edge>, BevelError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_watertight` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:325:8
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub fn is_watertight(mesh: &Mesh) -> Result<bool, BevelError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_smooth_normals_threshold` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/normals.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn compute_smooth_normals_threshold(mesh: &mut Mesh, angle_threshold: f32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_tangents` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/normals.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn compute_tangents(mesh: &mut Mesh) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flip_normals` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/normals.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn flip_normals(mesh: &mut Mesh) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_flat_normals` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/normals.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn compute_flat_normals(mesh: &mut Mesh) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `weld_vertices` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/normals.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn weld_vertices(mesh: &mut Mesh, tolerance: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `glacis_angle` is never read
[INFO] [stdout]   --> src/plugins/tank/model/hull.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HullConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub glacis_angle: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HullConfig` 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 fields are never read
[INFO] [stdout]   --> src/plugins/tank/model/turret.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TurretConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 13 |     pub base_radius: f32,
[INFO] [stdout] 14 |     pub front_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub rear_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 16 |     pub height: f32,
[INFO] [stdout] 17 |     pub front_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub side_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub cupola_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub cupola_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub hatch_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub periscope_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TurretConfig` 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 fields are never read
[INFO] [stdout]   --> src/plugins/tank/model/barrel.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BarrelConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub muzzle_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub rifling_grooves: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub rifling_depth: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub rifling_twist: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub muzzle_brake: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub muzzle_brake_length: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub muzzle_brake_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub muzzle_brake_slots: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub bore_evacuator: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub bore_evacuator_position: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub bore_evacuator_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub bore_evacuator_length: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BarrelConfig` 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: associated function `d10t2s` is never used
[INFO] [stdout]   --> src/plugins/tank/model/barrel.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl BarrelConfig {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn d10t2s() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hub_radius`, `spoke_count`, `spoke_width`, and `rubber_thickness` are never read
[INFO] [stdout]   --> src/plugins/tank/model/wheels.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RoadWheelConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 13 |     pub outer_radius: f32,
[INFO] [stdout] 14 |     pub hub_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub width: f32,
[INFO] [stdout] 16 |     pub spoke_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |     pub spoke_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub rubber_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RoadWheelConfig` 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 `hub_radius`, `tooth_count`, `tooth_height`, and `tooth_width` are never read
[INFO] [stdout]   --> src/plugins/tank/model/wheels.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SprocketConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 45 |     pub radius: f32,
[INFO] [stdout] 46 |     pub hub_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 47 |     pub width: f32,
[INFO] [stdout] 48 |     pub tooth_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 49 |     pub tooth_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub tooth_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SprocketConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hub_radius` is never read
[INFO] [stdout]   --> src/plugins/tank/model/wheels.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct IdlerConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 75 |     pub radius: f32,
[INFO] [stdout] 76 |     pub hub_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IdlerConfig` 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: function `generate_return_roller` is never used
[INFO] [stdout]    --> src/plugins/tank/model/wheels.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn generate_return_roller(radius: f32, width: f32) -> Mesh {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `guide_tooth_height`, `guide_tooth_width`, `pin_radius`, `pad_thickness`, `grouser_count`, and `grouser_height` are never read
[INFO] [stdout]   --> src/plugins/tank/model/tracks.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TrackLinkConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub guide_tooth_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub guide_tooth_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub pin_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 19 |     pub pad_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub grouser_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub grouser_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TrackLinkConfig` 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 `return_rollers` and `tension` are never read
[INFO] [stdout]    --> src/plugins/tank/model/tracks.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct TrackPath {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub return_rollers: Vec<(Vec3, f32)>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     pub tension: f32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackPath` 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 `index` and `side` are never read
[INFO] [stdout]    --> src/plugins/tank/model/tracks.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct TrackLinkMarker {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 223 |     pub index: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 224 |     pub side: f32,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackLinkMarker` 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: function `setup_tank_assets` is never used
[INFO] [stdout]   --> src/plugins/tank/spawn.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn setup_tank_assets(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/rendering/texture_generator.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |             let idx = (y * res + x) as usize;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MeshBuilder` is never used
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait MeshBuilder {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BeveledBox` is never constructed
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BeveledBox {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_bevel`, and `generate_edge_vertices` are never used
[INFO] [stdout]   --> src/plugins/tank/model/builder.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl BeveledBox {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(size: Vec3) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn with_bevel(mut self, radius: f32, segments: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn generate_edge_vertices(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DetailedCylinder` is never constructed
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct DetailedCylinder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cone`, `with_segments`, `with_caps`, and `open` are never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:325:12
[INFO] [stdout]     |
[INFO] [stdout] 324 | impl DetailedCylinder {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 325 |     pub fn new(radius: f32, height: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn cone(radius_bottom: f32, radius_top: f32, height: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn with_segments(mut self, radial: u32, height: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn with_caps(mut self, segments: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn open(mut self) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RivetPattern` is never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:495:10
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub enum RivetPattern {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RivetedPanel` is never constructed
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub struct RivetedPanel {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_grid_rivets`, `with_edge_rivets`, and `get_rivet_positions` are never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | impl RivetedPanel {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 515 |     pub fn new(size: Vec2, thickness: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |     pub fn with_grid_rivets(mut self, rows: u32, cols: u32, spacing: Vec2) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 533 |     pub fn with_edge_rivets(mut self, count: u32, inset: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn get_rivet_positions(&self) -> Vec<Vec2> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompoundMeshBuilder` is never constructed
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:707:12
[INFO] [stdout]     |
[INFO] [stdout] 707 | pub struct CompoundMeshBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, and `add_mesh` are never used
[INFO] [stdout]    --> src/plugins/tank/model/builder.rs:712:12
[INFO] [stdout]     |
[INFO] [stdout] 711 | impl CompoundMeshBuilder {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 712 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     pub fn add<T: MeshBuilder>(mut self, builder: T, transform: Transform) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn add_mesh(mut self, mesh: Mesh, transform: Transform) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BevelError` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum BevelError {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Edge(pub u32, pub u32);
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Edge {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new(a: u32, b: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeInfo` is never constructed
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct EdgeInfo {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_edges` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/bevel.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn find_edges(mesh: &Mesh) -> Result<Vec<EdgeInfo>, BevelError> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chamfer_edges` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn chamfer_edges(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bevel_edges` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub fn bevel_edges(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_boundary_edges` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn find_boundary_edges(mesh: &Mesh) -> Result<Vec<Edge>, BevelError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_watertight` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/bevel.rs:325:8
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub fn is_watertight(mesh: &Mesh) -> Result<bool, BevelError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_smooth_normals_threshold` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/normals.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn compute_smooth_normals_threshold(mesh: &mut Mesh, angle_threshold: f32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_tangents` is never used
[INFO] [stdout]   --> src/plugins/tank/model/utils/normals.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn compute_tangents(mesh: &mut Mesh) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flip_normals` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/normals.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub fn flip_normals(mesh: &mut Mesh) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_flat_normals` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/normals.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn compute_flat_normals(mesh: &mut Mesh) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `weld_vertices` is never used
[INFO] [stdout]    --> src/plugins/tank/model/utils/normals.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub fn weld_vertices(mesh: &mut Mesh, tolerance: f32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `glacis_angle` is never read
[INFO] [stdout]   --> src/plugins/tank/model/hull.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HullConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub glacis_angle: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HullConfig` 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 fields are never read
[INFO] [stdout]   --> src/plugins/tank/model/turret.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TurretConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 13 |     pub base_radius: f32,
[INFO] [stdout] 14 |     pub front_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub rear_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 16 |     pub height: f32,
[INFO] [stdout] 17 |     pub front_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub side_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub cupola_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub cupola_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub hatch_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub periscope_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TurretConfig` 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 fields are never read
[INFO] [stdout]   --> src/plugins/tank/model/barrel.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BarrelConfig {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub muzzle_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub rifling_grooves: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub rifling_depth: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub rifling_twist: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub muzzle_brake: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub muzzle_brake_length: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub muzzle_brake_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub muzzle_brake_slots: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub bore_evacuator: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub bore_evacuator_position: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub bore_evacuator_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub bore_evacuator_length: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BarrelConfig` 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: associated function `d10t2s` is never used
[INFO] [stdout]   --> src/plugins/tank/model/barrel.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl BarrelConfig {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn d10t2s() -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `hub_radius`, `spoke_count`, `spoke_width`, and `rubber_thickness` are never read
[INFO] [stdout]   --> src/plugins/tank/model/wheels.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RoadWheelConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 13 |     pub outer_radius: f32,
[INFO] [stdout] 14 |     pub hub_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub width: f32,
[INFO] [stdout] 16 |     pub spoke_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |     pub spoke_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub rubber_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RoadWheelConfig` 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 `hub_radius`, `tooth_count`, `tooth_height`, and `tooth_width` are never read
[INFO] [stdout]   --> src/plugins/tank/model/wheels.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct SprocketConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 45 |     pub radius: f32,
[INFO] [stdout] 46 |     pub hub_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 47 |     pub width: f32,
[INFO] [stdout] 48 |     pub tooth_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 49 |     pub tooth_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub tooth_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SprocketConfig` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hub_radius` is never read
[INFO] [stdout]   --> src/plugins/tank/model/wheels.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct IdlerConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 75 |     pub radius: f32,
[INFO] [stdout] 76 |     pub hub_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IdlerConfig` 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: function `generate_return_roller` is never used
[INFO] [stdout]    --> src/plugins/tank/model/wheels.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn generate_return_roller(radius: f32, width: f32) -> Mesh {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `guide_tooth_height`, `guide_tooth_width`, `pin_radius`, `pad_thickness`, `grouser_count`, and `grouser_height` are never read
[INFO] [stdout]   --> src/plugins/tank/model/tracks.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TrackLinkConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub guide_tooth_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub guide_tooth_width: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub pin_radius: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 19 |     pub pad_thickness: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub grouser_count: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub grouser_height: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TrackLinkConfig` 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 `return_rollers` and `tension` are never read
[INFO] [stdout]    --> src/plugins/tank/model/tracks.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct TrackPath {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub return_rollers: Vec<(Vec3, f32)>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     pub tension: f32,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackPath` 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 `index` and `side` are never read
[INFO] [stdout]    --> src/plugins/tank/model/tracks.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct TrackLinkMarker {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 223 |     pub index: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 224 |     pub side: f32,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrackLinkMarker` 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: function `setup_tank_assets` is never used
[INFO] [stdout]   --> src/plugins/tank/spawn.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn setup_tank_assets(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |                 resolution: (1280., 720.).into(),
[INFO] [stdout]    |                                     ^^^^ help: explicitly specify the type as `f32`: `720_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |                 resolution: (1280., 720.).into(),
[INFO] [stdout]    |                                     ^^^^ help: explicitly specify the type as `f32`: `720_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 4m 45s
[INFO] running `Command { std: "docker" "inspect" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72", kill_on_drop: false }`
[INFO] [stdout] 17ee375d8d21ac04bb2c363fde01c5ece5677503635d3d39376f26b3aa1fbd72
