[INFO] cloning repository https://github.com/05Narwhal/JL-UI
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/05Narwhal/JL-UI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F05Narwhal%2FJL-UI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F05Narwhal%2FJL-UI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e9b1f381c1bc49efea8f091a90ee65f1a484b0b0
[INFO] checking 05Narwhal/JL-UI against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F05Narwhal%2FJL-UI" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/05Narwhal/JL-UI
[INFO] finished tweaking git repo https://github.com/05Narwhal/JL-UI
[INFO] tweaked toml for git repo https://github.com/05Narwhal/JL-UI written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/05Narwhal/JL-UI on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/05Narwhal/JL-UI 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `jl_UI` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded macroquad_macro v0.1.8
[INFO] [stderr]   Downloaded jl-ui-procmacro v0.1.2026-dev
[INFO] [stderr]   Downloaded objc-rs v0.2.8
[INFO] [stderr]   Downloaded redox_syscall v0.7.4
[INFO] [stderr]   Downloaded miniquad v0.4.8
[INFO] [stderr]   Downloaded bevy_internal v0.18.1
[INFO] [stderr]   Downloaded bevy_winit v0.18.1
[INFO] [stderr]   Downloaded bevy_window v0.18.1
[INFO] [stderr]   Downloaded fontdue v0.9.3
[INFO] [stderr]   Downloaded encase_derive v0.12.0
[INFO] [stderr]   Downloaded encase_derive_impl v0.12.0
[INFO] [stderr]   Downloaded bevy_utils v0.18.1
[INFO] [stderr]   Downloaded bevy_macro_utils v0.18.1
[INFO] [stderr]   Downloaded bevy_platform v0.18.1
[INFO] [stderr]   Downloaded bevy_ptr v0.18.1
[INFO] [stderr]   Downloaded bevy_derive v0.18.1
[INFO] [stderr]   Downloaded encase v0.12.0
[INFO] [stderr]   Downloaded const_panic v0.2.15
[INFO] [stderr]   Downloaded bevy_ecs_macros v0.18.1
[INFO] [stderr]   Downloaded ktx2 v0.4.0
[INFO] [stderr]   Downloaded bevy_tasks v0.18.1
[INFO] [stderr]   Downloaded bevy_reflect_derive v0.18.1
[INFO] [stderr]   Downloaded bevy_input v0.18.1
[INFO] [stderr]   Downloaded bevy_app v0.18.1
[INFO] [stderr]   Downloaded constant_time_eq v0.4.3
[INFO] [stderr]   Downloaded bevy_diagnostic v0.18.1
[INFO] [stderr]   Downloaded ndk-sys v0.2.2
[INFO] [stderr]   Downloaded heapless v0.9.2
[INFO] [stderr]   Downloaded bevy_image v0.18.1
[INFO] [stderr]   Downloaded ruzstd v0.8.2
[INFO] [stderr]   Downloaded bevy_color v0.18.1
[INFO] [stderr]   Downloaded bevy_asset_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_reflect v0.18.1
[INFO] [stderr]   Downloaded bevy_log v0.18.1
[INFO] [stderr]   Downloaded bevy_time v0.18.1
[INFO] [stderr]   Downloaded hexasphere v16.0.0
[INFO] [stderr]   Downloaded bevy_math v0.18.1
[INFO] [stderr]   Downloaded bevy_android v0.18.1
[INFO] [stderr]   Downloaded bevy_transform v0.18.1
[INFO] [stderr]   Downloaded bevy_picking v0.18.1
[INFO] [stderr]   Downloaded bevy_mikktspace v0.17.0-dev
[INFO] [stderr]   Downloaded glam v0.27.0
[INFO] [stderr]   Downloaded bevy_asset v0.18.1
[INFO] [stderr]   Downloaded blake3 v1.8.4
[INFO] [stderr]   Downloaded bevy_a11y v0.18.1
[INFO] [stderr]   Downloaded bevy_input_focus v0.18.1
[INFO] [stderr]   Downloaded bevy_mesh v0.18.1
[INFO] [stderr]   Downloaded bevy_camera v0.18.1
[INFO] [stderr]   Downloaded bevy_ui_render v0.18.1
[INFO] [stderr]   Downloaded grid v1.0.0
[INFO] [stderr]   Downloaded bevy_text v0.18.1
[INFO] [stderr]   Downloaded bevy_sprite v0.18.1
[INFO] [stderr]   Downloaded bevy_ui v0.18.1
[INFO] [stderr]   Downloaded font-types v0.10.1
[INFO] [stderr]   Downloaded bevy_shader v0.18.1
[INFO] [stderr]   Downloaded web-sys v0.3.95
[INFO] [stderr]   Downloaded taffy v0.9.2
[INFO] [stderr]   Downloaded bevy v0.18.1
[INFO] [stderr]   Downloaded swash v0.2.7
[INFO] [stderr]   Downloaded bevy_sprite_render v0.18.1
[INFO] [stderr]   Downloaded macroquad v0.4.14
[INFO] [stderr]   Downloaded bevy_ecs v0.18.1
[INFO] [stderr]   Downloaded naga_oil v0.20.0
[INFO] [stderr]   Downloaded bevy_render v0.18.1
[INFO] [stderr]   Downloaded glam v0.30.10
[INFO] [stderr]   Downloaded skrifa v0.39.0
[INFO] [stderr]   Downloaded harfrust v0.4.1
[INFO] [stderr]   Downloaded bevy_encase_derive v0.18.1
[INFO] [stderr]   Downloaded bevy_dev_tools v0.18.1
[INFO] [stderr]   Downloaded read-fonts v0.36.0
[INFO] [stderr]   Downloaded bevy_animation v0.18.1
[INFO] [stderr]   Downloaded bevy_state_macros v0.18.1
[INFO] [stderr]   Downloaded orbclient v0.3.53
[INFO] [stderr]   Downloaded bevy_gizmos_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_gilrs v0.18.1
[INFO] [stderr]   Downloaded wgpu-core-deps-wasm v27.0.0
[INFO] [stderr]   Downloaded bevy_core_pipeline v0.18.1
[INFO] [stderr]   Downloaded bevy_gltf v0.18.1
[INFO] [stderr]   Downloaded bevy_post_process v0.18.1
[INFO] [stderr]   Downloaded bevy_state v0.18.1
[INFO] [stderr]   Downloaded bevy_animation_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_gizmos_render v0.18.1
[INFO] [stderr]   Downloaded bevy_render_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_scene v0.18.1
[INFO] [stderr]   Downloaded bevy_gizmos v0.18.1
[INFO] [stderr]   Downloaded gilrs v0.11.1
[INFO] [stderr]   Downloaded bevy_ui_widgets v0.18.1
[INFO] [stderr]   Downloaded bevy_light v0.18.1
[INFO] [stderr]   Downloaded gilrs-core v0.6.7
[INFO] [stderr]   Downloaded bevy_audio v0.18.1
[INFO] [stderr]   Downloaded cosmic-text v0.16.0
[INFO] [stderr]   Downloaded rodio v0.20.1
[INFO] [stderr]   Downloaded bevy_anti_alias v0.18.1
[INFO] [stderr]   Downloaded bevy_pbr v0.18.1
[INFO] [stderr]   Downloaded bevy_feathers v0.18.1
[INFO] [stderr]   Downloaded image v0.24.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af
[INFO] running `Command { std: "docker" "start" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af", 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" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af", 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" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `jl_UI` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling miniquad v0.4.8
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking jiff v0.2.23
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]     Checking quad-rand v0.2.3
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking quick-xml v0.39.2
[INFO] [stderr]     Checking colored v3.1.1
[INFO] [stderr]    Compiling jl-ui-procmacro v0.1.2026-dev
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking fontdue v0.9.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking macroquad v0.4.14
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking jl_UI v0.1.2026-dev (/opt/rustwide/workdir)
[INFO] [stdout] warning: static `GLOBAL_JSONC` is never used
[INFO] [stdout]  --> src/utils/jsonc.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static GLOBAL_JSONC: OnceLock<RwLock<Jsonc>> = OnceLock::new();
[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 `get_global_jsonc` is never used
[INFO] [stdout]  --> src/utils/jsonc.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_global_jsonc() -> &'static RwLock<Jsonc> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comments` is never read
[INFO] [stdout]   --> src/utils/jsonc.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Jsonc {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 27 |     comments: std::collections::HashMap<String, Vec<JsoncComment>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `extract_comments` and `write_jsonc` are never used
[INFO] [stdout]    --> src/utils/jsonc.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl Jsonc {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn extract_comments(path: &PathBuf, text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn write_jsonc<T: Serialize>(path: &PathBuf, data: &T) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `define_i32`, `get_i32`, `define_usize`, `get_usize`, `define_u32`, and `get_u32` are never used
[INFO] [stdout]    --> src/modules/ui/parser.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl GlobalVarStore {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 427 |     fn define_i32(&mut self, name: &str, value: i32, is_mutable: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     fn get_i32(&self, name: &str) -> Option<i32> { self.i32_values.get(name).copied() }
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 432 |
[INFO] [stdout] 433 |     fn define_usize(&mut self, name: &str, value: usize, is_mutable: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn get_usize(&self, name: &str) -> Option<usize> { self.usize_values.get(name).copied() }
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 438 |
[INFO] [stdout] 439 |     fn define_u32(&mut self, name: &str, value: u32, is_mutable: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn get_u32(&self, name: &str) -> Option<u32> { self.u32_values.get(name).copied() }
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load`, `parse`, and `parse_with_globals` are never used
[INFO] [stdout]    --> src/modules/ui/parser.rs:799:12
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl UIParser {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 798 |     // * -- Load and parse an XML file into a list of root components -- *
[INFO] [stdout] 799 |     pub fn load(path: &str) -> Result<(Vec<UIComponent>, VarStore), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 959 |     pub fn parse(xml: &str) -> Result<(Vec<UIComponent>, VarStore), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 965 |     pub fn parse_with_globals(xml: &str, globals: &mut GlobalVarStore) -> Result<(Vec<UIComponent>, VarStore), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `object_fit_rect` is never used
[INFO] [stdout]    --> src/modules/ui/renderer.rs:309:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl UIRenderer {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn object_fit_rect(fit: ObjectFit, layout: ResolvedLayout, tex_w: f32, tex_h: f32) -> (f32, f32, f32, f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1504:22
[INFO] [stdout]      |
[INFO] [stdout] 1504 |     pub fn get_by_id(&mut self, id: &str) -> Option<UIHandleMut> {
[INFO] [stdout]      |                      ^^^^^^^^^                      ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1504 |     pub fn get_by_id(&mut self, id: &str) -> Option<UIHandleMut<'_>> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1512:26
[INFO] [stdout]      |
[INFO] [stdout] 1512 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UIHandleMut> {
[INFO] [stdout]      |                          ^^^^^^^^^                      ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1512 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UIHandleMut<'_>> {
[INFO] [stdout]      |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1517:25
[INFO] [stdout]      |
[INFO] [stdout] 1517 |     pub fn get_by_class(&self, class: &str) -> Option<UIHandle> {
[INFO] [stdout]      |                         ^^^^^                         ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1517 |     pub fn get_by_class(&self, class: &str) -> Option<UIHandle<'_>> {
[INFO] [stdout]      |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1524:29
[INFO] [stdout]      |
[INFO] [stdout] 1524 |     pub fn get_by_class_mut(&mut self, class: &str) -> Option<UIHandleMut> {
[INFO] [stdout]      |                             ^^^^^^^^^                         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1524 |     pub fn get_by_class_mut(&mut self, class: &str) -> Option<UIHandleMut<'_>> {
[INFO] [stdout]      |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_JSONC` is never used
[INFO] [stdout]  --> src/utils/jsonc.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static GLOBAL_JSONC: OnceLock<RwLock<Jsonc>> = OnceLock::new();
[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 `get_global_jsonc` is never used
[INFO] [stdout]  --> src/utils/jsonc.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_global_jsonc() -> &'static RwLock<Jsonc> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `comments` is never read
[INFO] [stdout]   --> src/utils/jsonc.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Jsonc {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 27 |     comments: std::collections::HashMap<String, Vec<JsoncComment>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `extract_comments` and `write_jsonc` are never used
[INFO] [stdout]    --> src/utils/jsonc.rs:38:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl Jsonc {
[INFO] [stdout]     | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn extract_comments(path: &PathBuf, text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn write_jsonc<T: Serialize>(path: &PathBuf, data: &T) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `define_i32`, `get_i32`, `define_usize`, `get_usize`, `define_u32`, and `get_u32` are never used
[INFO] [stdout]    --> src/modules/ui/parser.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl GlobalVarStore {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 427 |     fn define_i32(&mut self, name: &str, value: i32, is_mutable: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     fn get_i32(&self, name: &str) -> Option<i32> { self.i32_values.get(name).copied() }
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 432 |
[INFO] [stdout] 433 |     fn define_usize(&mut self, name: &str, value: usize, is_mutable: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn get_usize(&self, name: &str) -> Option<usize> { self.usize_values.get(name).copied() }
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 438 |
[INFO] [stdout] 439 |     fn define_u32(&mut self, name: &str, value: u32, is_mutable: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn get_u32(&self, name: &str) -> Option<u32> { self.u32_values.get(name).copied() }
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load`, `parse`, and `parse_with_globals` are never used
[INFO] [stdout]    --> src/modules/ui/parser.rs:799:12
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl UIParser {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 798 |     // * -- Load and parse an XML file into a list of root components -- *
[INFO] [stdout] 799 |     pub fn load(path: &str) -> Result<(Vec<UIComponent>, VarStore), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 959 |     pub fn parse(xml: &str) -> Result<(Vec<UIComponent>, VarStore), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 965 |     pub fn parse_with_globals(xml: &str, globals: &mut GlobalVarStore) -> Result<(Vec<UIComponent>, VarStore), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `object_fit_rect` is never used
[INFO] [stdout]    --> src/modules/ui/renderer.rs:309:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl UIRenderer {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn object_fit_rect(fit: ObjectFit, layout: ResolvedLayout, tex_w: f32, tex_h: f32) -> (f32, f32, f32, f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `jl_UI` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `jl_ui`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1504:22
[INFO] [stdout]      |
[INFO] [stdout] 1504 |     pub fn get_by_id(&mut self, id: &str) -> Option<UIHandleMut> {
[INFO] [stdout]      |                      ^^^^^^^^^                      ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1504 |     pub fn get_by_id(&mut self, id: &str) -> Option<UIHandleMut<'_>> {
[INFO] [stdout]      |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1512:26
[INFO] [stdout]      |
[INFO] [stdout] 1512 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UIHandleMut> {
[INFO] [stdout]      |                          ^^^^^^^^^                      ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1512 |     pub fn get_by_id_mut(&mut self, id: &str) -> Option<UIHandleMut<'_>> {
[INFO] [stdout]      |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1517:25
[INFO] [stdout]      |
[INFO] [stdout] 1517 |     pub fn get_by_class(&self, class: &str) -> Option<UIHandle> {
[INFO] [stdout]      |                         ^^^^^                         ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1517 |     pub fn get_by_class(&self, class: &str) -> Option<UIHandle<'_>> {
[INFO] [stdout]      |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/modules/ui/lib.rs:1524:29
[INFO] [stdout]      |
[INFO] [stdout] 1524 |     pub fn get_by_class_mut(&mut self, class: &str) -> Option<UIHandleMut> {
[INFO] [stdout]      |                             ^^^^^^^^^                         ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1524 |     pub fn get_by_class_mut(&mut self, class: &str) -> Option<UIHandleMut<'_>> {
[INFO] [stdout]      |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.95s
[INFO] running `Command { std: "docker" "inspect" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af", kill_on_drop: false }`
[INFO] [stdout] b69b7a67bc976a3971bb0fa7002e7fc8da47491e2adc267b1d99a01974fbd9af
