[INFO] cloning repository https://github.com/aporicho/nodeimg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aporicho/nodeimg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faporicho%2Fnodeimg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faporicho%2Fnodeimg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 57d61040d5a7e0755787a31f04d1e04d6584ff8d
[INFO] checking aporicho/nodeimg against 3d50c25bc66853bf0ad205529d0f305a1d841b5e for pr-159598
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faporicho%2Fnodeimg" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aporicho/nodeimg
[INFO] finished tweaking git repo https://github.com/aporicho/nodeimg
[INFO] tweaked toml for git repo https://github.com/aporicho/nodeimg written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aporicho/nodeimg on toolchain 3d50c25bc66853bf0ad205529d0f305a1d841b5e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aporicho/nodeimg 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" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_edit v0.25.10+spec-1.1.0
[INFO] [stderr]   Downloaded usvg v0.44.0
[INFO] [stderr]   Downloaded unicode-ccc v0.3.0
[INFO] [stderr]   Downloaded resvg v0.44.0
[INFO] [stderr]   Downloaded unicode-bidi-mirroring v0.3.0
[INFO] [stderr]   Downloaded image-webp v0.1.3
[INFO] [stderr]   Downloaded fontdb v0.22.0
[INFO] [stderr]   Downloaded rustybuzz v0.18.0
[INFO] [stderr]   Downloaded zune-jpeg v0.5.14
[INFO] [stderr]   Downloaded font-types v0.11.2
[INFO] [stderr]   Downloaded cosmic-text v0.15.0
[INFO] [stderr]   Downloaded glyphon v0.10.0
[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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd
[INFO] running `Command { std: "docker" "start" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd", 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" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd" "/opt/rustwide/cargo-home/bin/cargo" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd", 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" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd" "/opt/rustwide/cargo-home/bin/cargo" "+3d50c25bc66853bf0ad205529d0f305a1d841b5e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]     Checking core_maths v0.1.1
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling naga v28.0.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking codespan-reporting v0.12.0
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling wgpu-hal v28.0.1
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking presser v0.3.1
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]    Compiling wgpu-core v28.0.1
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling wgpu v28.0.0
[INFO] [stderr]     Checking zune-jpeg v0.5.14
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking ttf-parser v0.24.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking kurbo v0.11.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking ordered-float v5.1.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking euclid v0.22.14
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking unicode-ccc v0.3.0
[INFO] [stderr]     Checking zeno v0.3.3
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.3.0
[INFO] [stderr]     Checking yazi v0.2.1
[INFO] [stderr]     Checking siphasher v1.0.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]     Checking imagesize v0.13.0
[INFO] [stderr]     Checking data-url v0.3.2
[INFO] [stderr]     Checking self_cell v1.2.2
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking rangemap v1.7.1
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking svg_fmt v0.4.5
[INFO] [stderr]     Checking lyon_geom v1.0.19
[INFO] [stderr]     Checking svgtypes v0.15.3
[INFO] [stderr]     Checking unicode-vo v0.1.0
[INFO] [stderr]     Checking linebender_resource_handle v0.1.1
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking zune-jpeg v0.4.21
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking image-webp v0.1.3
[INFO] [stderr]     Checking etagere v0.2.15
[INFO] [stderr]     Checking gif v0.13.3
[INFO] [stderr]     Checking lru v0.16.3
[INFO] [stderr]     Checking lyon_path v1.0.19
[INFO] [stderr]     Checking proc-macro2 v1.0.106
[INFO] [stderr]     Checking inventory v0.3.24
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking quote v1.0.45
[INFO] [stderr]     Checking lyon_algorithms v1.0.19
[INFO] [stderr]     Checking lyon_tessellation v1.0.20
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking fontdb v0.23.0
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking lyon v1.0.19
[INFO] [stderr]     Checking fontdb v0.22.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking wayland-client v0.31.14
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.47
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling macros v0.1.0 (/opt/rustwide/workdir/macros)
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking wgpu-types v28.0.0
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking font-types v0.11.2
[INFO] [stderr]     Checking font-types v0.10.1
[INFO] [stderr]     Checking rustybuzz v0.18.0
[INFO] [stderr]     Checking gpu-allocator v0.28.0
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking read-fonts v0.37.0
[INFO] [stderr]     Checking read-fonts v0.35.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking rav1e v0.8.1
[INFO] [stderr]     Checking usvg v0.44.0
[INFO] [stderr]     Checking resvg v0.44.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking skrifa v0.37.0
[INFO] [stderr]     Checking harfrust v0.3.2
[INFO] [stderr]     Checking skrifa v0.40.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking winit v0.30.13
[INFO] [stderr]     Checking swash v0.2.7
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking cosmic-text v0.15.0
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v28.0.0
[INFO] [stderr]     Checking glyphon v0.10.0
[INFO] [stderr]     Checking types v0.1.0 (/opt/rustwide/workdir/types)
[INFO] [stderr]     Checking engine v0.1.0 (/opt/rustwide/workdir/engine)
[INFO] [stderr]     Checking gui v0.1.0 (/opt/rustwide/workdir/gui)
[INFO] [stdout] warning: unused import: `PanelFrame`
[INFO] [stdout]  --> gui/src/context.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::panel::{PanelFrame, PanelLayer, PanelRenderer};
[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: `PanelFrame`
[INFO] [stdout]  --> gui/src/context.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::panel::{PanelFrame, PanelLayer, PanelRenderer};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FocusState` is never constructed
[INFO] [stdout]  --> gui/src/widget/focus.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct FocusState {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> gui/src/widget/focus.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl FocusState {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn set_focusable(&mut self, ids: Vec<&'static str>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn focus(&mut self, id: &'static str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn blur(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_focused(&self, id: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn focused(&self) -> Option<&'static str> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn tab_next(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn tab_prev(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn advance(&self, delta: isize) -> Option<&'static str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextEditState` is never constructed
[INFO] [stdout]  --> gui/src/widget/text_edit.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct TextEditState {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> gui/src/widget/text_edit.rs:9:12
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl TextEditState {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]   9 |     pub fn new(text: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn cursor(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn has_selection(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn selection_range(&self) -> Option<(usize, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn selected_text(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn insert_char(&mut self, ch: char) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn insert_str(&mut self, s: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn delete(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn set_text(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn move_left(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn move_right(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn move_home(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn move_end(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn move_to(&mut self, pos: usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn select_left(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn select_right(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn select_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn select_to(&mut self, pos: usize) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn copy(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn cut(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn paste(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn delete_selection_inner(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prev_char_boundary` is never used
[INFO] [stdout]    --> gui/src/widget/text_edit.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn prev_char_boundary(s: &str, pos: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_char_boundary` is never used
[INFO] [stdout]    --> gui/src/widget/text_edit.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn next_char_boundary(s: &str, pos: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FocusState` is never constructed
[INFO] [stdout]  --> gui/src/widget/focus.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct FocusState {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> gui/src/widget/focus.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl FocusState {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn set_focusable(&mut self, ids: Vec<&'static str>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn focus(&mut self, id: &'static str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn blur(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_focused(&self, id: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn focused(&self) -> Option<&'static str> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn tab_next(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn tab_prev(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn advance(&self, delta: isize) -> Option<&'static str> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextEditState` is never constructed
[INFO] [stdout]  --> gui/src/widget/text_edit.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct TextEditState {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> gui/src/widget/text_edit.rs:9:12
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl TextEditState {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]   9 |     pub fn new(text: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn cursor(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn has_selection(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn selection_range(&self) -> Option<(usize, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn selected_text(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn insert_char(&mut self, ch: char) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn insert_str(&mut self, s: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn delete(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn set_text(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn move_left(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn move_right(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn move_home(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn move_end(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn move_to(&mut self, pos: usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn select_left(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn select_right(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn select_all(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn select_to(&mut self, pos: usize) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn copy(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn cut(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn paste(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn delete_selection_inner(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prev_char_boundary` is never used
[INFO] [stdout]    --> gui/src/widget/text_edit.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn prev_char_boundary(s: &str, pos: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_char_boundary` is never used
[INFO] [stdout]    --> gui/src/widget/text_edit.rs:198:4
[INFO] [stdout]     |
[INFO] [stdout] 198 | fn next_char_boundary(s: &str, pos: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking app v0.1.0 (/opt/rustwide/workdir/app)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: naga v28.0.0, wgpu v28.0.0, wgpu-core v28.0.1, wgpu-hal v28.0.1, winit v0.30.13
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd", kill_on_drop: false }`
[INFO] [stdout] 55eb563fca4b61c021d40ca39168cd408c3a44a11cbadd6bc066c5405f3b2dcd
