[INFO] fetching crate jl_UI 0.1.2026-dev...
[INFO] checking jl_UI-0.1.2026-dev against 8006091eb71ae7d9e9bccb66c6122c9d68af4466 for pr-129249-3
[INFO] extracting crate jl_UI 0.1.2026-dev into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate jl_UI 0.1.2026-dev
[INFO] finished tweaking crates.io crate jl_UI 0.1.2026-dev
[INFO] tweaked toml for crates.io crate jl_UI 0.1.2026-dev written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate jl_UI 0.1.2026-dev on toolchain 8006091eb71ae7d9e9bccb66c6122c9d68af4466
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate jl_UI 0.1.2026-dev 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" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded jl-ui-procmacro v0.1.2026-dev
[INFO] [stderr]   Downloaded bevy_winit v0.18.1
[INFO] [stderr]   Downloaded ruzstd v0.8.2
[INFO] [stderr]   Downloaded ktx2 v0.4.0
[INFO] [stderr]   Downloaded constant_time_eq v0.4.3
[INFO] [stderr]   Downloaded sysinfo v0.37.2
[INFO] [stderr]   Downloaded bevy_input_focus v0.18.1
[INFO] [stderr]   Downloaded bevy_picking v0.18.1
[INFO] [stderr]   Downloaded bevy_mikktspace v0.17.0-dev
[INFO] [stderr]   Downloaded accesskit_macos v0.22.2
[INFO] [stderr]   Downloaded accesskit_windows v0.29.2
[INFO] [stderr]   Downloaded accesskit_consumer v0.31.0
[INFO] [stderr]   Downloaded bevy_ui_render v0.18.1
[INFO] [stderr]   Downloaded accesskit_winit v0.29.2
[INFO] [stderr]   Downloaded skrifa v0.39.0
[INFO] [stderr]   Downloaded bevy_sprite v0.18.1
[INFO] [stderr]   Downloaded bevy_text v0.18.1
[INFO] [stderr]   Downloaded bevy_sprite_render v0.18.1
[INFO] [stderr]   Downloaded bevy_ui v0.18.1
[INFO] [stderr]   Downloaded grid v1.0.0
[INFO] [stderr]   Downloaded taffy v0.9.2
[INFO] [stderr]   Downloaded read-fonts v0.36.0
[INFO] [stderr]   Downloaded harfrust v0.4.1
[INFO] [stderr]   Downloaded cosmic-text v0.16.0
[INFO] [stderr]   Downloaded wgpu-core-deps-wasm v27.0.0
[INFO] [stderr]   Downloaded bevy_state v0.18.1
[INFO] [stderr]   Downloaded bevy_state_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_animation_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_scene v0.18.1
[INFO] [stderr]   Downloaded bevy_post_process v0.18.1
[INFO] [stderr]   Downloaded bevy_animation v0.18.1
[INFO] [stderr]   Downloaded bevy_core_pipeline v0.18.1
[INFO] [stderr]   Downloaded bevy_light v0.18.1
[INFO] [stderr]   Downloaded bevy_gltf v0.18.1
[INFO] [stderr]   Downloaded bevy_gizmos_render v0.18.1
[INFO] [stderr]   Downloaded bevy_gizmos_macros v0.18.1
[INFO] [stderr]   Downloaded bevy_gilrs v0.18.1
[INFO] [stderr]   Downloaded gilrs v0.11.1
[INFO] [stderr]   Downloaded gilrs-core v0.6.7
[INFO] [stderr]   Downloaded bevy_gizmos v0.18.1
[INFO] [stderr]   Downloaded bevy_ui_widgets v0.18.1
[INFO] [stderr]   Downloaded bevy_dev_tools v0.18.1
[INFO] [stderr]   Downloaded bevy_audio v0.18.1
[INFO] [stderr]   Downloaded bevy_pbr v0.18.1
[INFO] [stderr]   Downloaded bevy_feathers v0.18.1
[INFO] [stderr]   Downloaded bevy_anti_alias v0.18.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78
[INFO] running `Command { std: "docker" "start" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78", 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" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78", 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" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking quick-xml v0.39.2
[INFO] [stderr]    Compiling jl-ui-procmacro v0.1.2026-dev
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking miniquad v0.4.8
[INFO] [stderr]     Checking macroquad v0.4.14
[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: 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] [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 9.52s
[INFO] running `Command { std: "docker" "inspect" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78", kill_on_drop: false }`
[INFO] [stdout] 7d66b5818d193c1acca32e61d59dbaf8ea2e2c5992e10f7658329c5c598abb78
