[INFO] cloning repository https://github.com/NathanGr33n/_browser
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NathanGr33n/_browser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNathanGr33n%2F_browser", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNathanGr33n%2F_browser'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d9ba7cf7f45101e45449b03ade16a22f22c5f8e3
[INFO] checking NathanGr33n/_browser against try#7b3da9103634dffd4f4365cfd8642427c781d99f+rustflags=-Dinherent-method-on-receiver for 152214-denied
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNathanGr33n%2F_browser" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/NathanGr33n/_browser
[INFO] finished tweaking git repo https://github.com/NathanGr33n/_browser
[INFO] tweaked toml for git repo https://github.com/NathanGr33n/_browser written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NathanGr33n/_browser on toolchain 7b3da9103634dffd4f4365cfd8642427c781d99f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NathanGr33n/_browser 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" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31200a203c6de1c1d5fdf158968f98353886da194bf2fe4cd7bc9be6fbc60654
[INFO] running `Command { std: "docker" "start" "-a" "31200a203c6de1c1d5fdf158968f98353886da194bf2fe4cd7bc9be6fbc60654", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31200a203c6de1c1d5fdf158968f98353886da194bf2fe4cd7bc9be6fbc60654", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31200a203c6de1c1d5fdf158968f98353886da194bf2fe4cd7bc9be6fbc60654", kill_on_drop: false }`
[INFO] [stdout] 31200a203c6de1c1d5fdf158968f98353886da194bf2fe4cd7bc9be6fbc60654
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dinherent-method-on-receiver" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+7b3da9103634dffd4f4365cfd8642427c781d99f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a9f5031080b758c01c6f1e475db008d04741ff5ecf17debbcdac94ab948cc25
[INFO] running `Command { std: "docker" "start" "-a" "1a9f5031080b758c01c6f1e475db008d04741ff5ecf17debbcdac94ab948cc25", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking boa_profiler v0.17.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking thin-vec v0.2.14
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling pathfinder_simd v0.5.5
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling freetype-sys v0.20.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v5.0.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]    Compiling zmij v1.0.5
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking ash v0.37.3+1.3.251
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking dtoa v1.0.11
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking fast-float v0.2.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]    Compiling cstr v0.2.12
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking gif v0.13.3
[INFO] [stderr]    Compiling font-kit v0.13.2
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking servo_arc v0.3.0
[INFO] [stderr]     Checking ryu-js v0.2.2
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]     Checking serde_json v1.0.148
[INFO] [stderr]    Compiling markup5ever v0.12.1
[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.11
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling icu_provider_macros v1.2.0
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.9.7
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling boa_macros v0.17.3
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]    Compiling num_enum_derive v0.6.1
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking boa_gc v0.17.3
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]     Checking cssparser v0.31.2
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking num_enum v0.6.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking cobs v0.3.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking postcard v1.1.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking zerovec v0.9.7
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking regress v0.6.0
[INFO] [stderr]     Checking boa_interner v0.17.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking fontdue v0.8.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking boa_ast v0.17.3
[INFO] [stderr]     Checking tinystr v0.7.2
[INFO] [stderr]     Checking icu_collections v1.2.0
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking icu_locid v1.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking icu_provider v1.2.0
[INFO] [stderr]     Checking icu_properties v1.2.0
[INFO] [stderr]     Checking icu_provider_blob v1.2.0
[INFO] [stderr]     Checking icu_provider_adapters v1.2.0
[INFO] [stderr]     Checking sctk-adwaita v0.8.3
[INFO] [stderr]     Checking winit v0.29.15
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking icu_normalizer v1.2.0
[INFO] [stderr]     Checking boa_icu_provider v0.17.3
[INFO] [stderr]     Checking boa_parser v0.17.3
[INFO] [stderr]     Checking wgpu-hal v0.19.5
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking boa_engine v0.17.3
[INFO] [stderr]     Checking wgpu-core v0.19.4
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking wgpu v0.19.4
[INFO] [stderr]     Checking browser_engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> src/layout/grid.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::layout::{Dimensions, Rect};
[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 imports: `NodeType` and `Node`
[INFO] [stdout]  --> src/forms.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dom::{Node, NodeType};
[INFO] [stdout]   |                  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::css::Color`
[INFO] [stdout]  --> src/compositor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::css::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color` and `Unit`
[INFO] [stdout]    --> src/style/mod.rs:140:33
[INFO] [stdout]     |
[INFO] [stdout] 140 |     use crate::css::{CssParser, Color, Unit};
[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: `Rect`
[INFO] [stdout]  --> src/layout/grid.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::layout::{Dimensions, Rect};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> src/layout/flexbox_tests.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use super::super::{Dimensions, Rect};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Unit`
[INFO] [stdout]    --> src/display/mod.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     use crate::css::{CssParser, Unit};
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeType` and `Node`
[INFO] [stdout]  --> src/forms.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dom::{Node, NodeType};
[INFO] [stdout]   |                  ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::css::Color`
[INFO] [stdout]  --> src/compositor.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::css::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/layout/flexbox.rs:290:20
[INFO] [stdout]     |
[INFO] [stdout] 290 |             .map(|(idx, item)| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_axis_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:286:58
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn initialize_item_states(&self, items: &[FlexItem], main_axis_size: f32) -> Vec<FlexItemState> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_axis_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effective_line_cross_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:474:17
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let effective_line_cross_size = if is_single_line {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_line_cross_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/layout/flexbox.rs:481:21
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 let item = &mut items[item_idx];
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x1`
[INFO] [stdout]   --> src/animation.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn cubic_bezier(x1: f32, y1: f32, x2: f32, y2: f32, t: f32) -> f32 {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_x1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]   --> src/animation.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn cubic_bezier(x1: f32, y1: f32, x2: f32, y2: f32, t: f32) -> f32 {
[INFO] [stdout]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mt3`
[INFO] [stdout]   --> src/animation.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mt3 = mt2 * mt;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_mt3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_age`
[INFO] [stdout]    --> src/storage.rs:235:28
[INFO] [stdout]     |
[INFO] [stdout] 235 |         } else if let Some(max_age) = self.max_age {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_age`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `IndexData` is more private than the item `IDBObjectStore::index`
[INFO] [stdout]    --> src/indexeddb.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn index(&self, name: &str) -> Result<&IndexData, IDBError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `IDBObjectStore::index` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `IndexData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/indexeddb.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | struct IndexData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_size`, `flex_factor`, and `frozen` are never read
[INFO] [stdout]    --> src/layout/flexbox.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct FlexItemState {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 102 |     /// Base size before flex calculations
[INFO] [stdout] 103 |     base_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     flex_factor: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 112 |     /// Is frozen (no longer flexible)
[INFO] [stdout] 113 |     frozen: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexItemState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_size` is never read
[INFO] [stdout]    --> src/layout/flexbox.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct FlexLine {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     main_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]   --> src/renderer/image_painter.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct GpuImage {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 39 |     texture: Texture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/canvas.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct DrawingState {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     line_cap: LineCap,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 85 |     /// Line join
[INFO] [stdout] 86 |     line_join: LineJoin,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     global_composite_operation: CompositeOperation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     /// Font
[INFO] [stdout] 92 |     font: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 93 |     /// Text align
[INFO] [stdout] 94 |     text_align: TextAlign,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 95 |     /// Text baseline
[INFO] [stdout] 96 |     text_baseline: TextBaseline,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 97 |     /// Transform matrix
[INFO] [stdout] 98 |     transform: [f32; 6], // a, b, c, d, e, f
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DrawingState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/observers.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct IntersectionObserver {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] 133 |     /// Observer ID
[INFO] [stdout] 134 |     id: ObserverId,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/observers.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct ResizeObserver {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 284 |     /// Observer ID
[INFO] [stdout] 285 |     id: ObserverId,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]    --> src/indexeddb.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub struct IDBCursor {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 414 |     direction: IDBCursorDirection,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IDBCursor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/style/mod.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let mut attrs = HashMap::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/style/mod.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut attrs = HashMap::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/layout/flexbox.rs:290:20
[INFO] [stdout]     |
[INFO] [stdout] 290 |             .map(|(idx, item)| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_axis_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:286:58
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn initialize_item_states(&self, items: &[FlexItem], main_axis_size: f32) -> Vec<FlexItemState> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_axis_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effective_line_cross_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:474:17
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let effective_line_cross_size = if is_single_line {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_line_cross_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/layout/flexbox.rs:481:21
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 let item = &mut items[item_idx];
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DevToolsTab`
[INFO] [stdout]   --> src/bin/browser.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |     devtools::{DevTools, DevToolsTab, NetworkRequestType},
[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: `DevToolsTab`
[INFO] [stdout]   --> src/bin/browser.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 |     devtools::{DevTools, DevToolsTab, NetworkRequestType},
[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 imports: `Color` and `Unit`
[INFO] [stdout]    --> src/style/mod.rs:140:33
[INFO] [stdout]     |
[INFO] [stdout] 140 |     use crate::css::{CssParser, Color, Unit};
[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: `Rect`
[INFO] [stdout]  --> src/layout/grid.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::layout::{Dimensions, Rect};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> src/layout/flexbox_tests.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use super::super::{Dimensions, Rect};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `scroll::ScrollState`
[INFO] [stdout]   --> src/window/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use scroll::ScrollState;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `text_painter::TextPainter`
[INFO] [stdout]   --> src/renderer/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use text_painter::TextPainter;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image_painter::ImagePainter`
[INFO] [stdout]   --> src/renderer/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use image_painter::ImagePainter;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WindowConfig` and `Window`
[INFO] [stdout]   --> src/main.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | use window::{Window, WindowConfig};
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `renderer::Renderer`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use renderer::Renderer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::WindowEvent`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use winit::event::WindowEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> src/layout/grid.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::layout::{Dimensions, Rect};
[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: `scroll::ScrollState`
[INFO] [stdout]   --> src/window/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use scroll::ScrollState;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `text_painter::TextPainter`
[INFO] [stdout]   --> src/renderer/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use text_painter::TextPainter;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image_painter::ImagePainter`
[INFO] [stdout]   --> src/renderer/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use image_painter::ImagePainter;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WindowConfig` and `Window`
[INFO] [stdout]   --> src/main.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | use window::{Window, WindowConfig};
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `renderer::Renderer`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use renderer::Renderer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit::event::WindowEvent`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use winit::event::WindowEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/net/mod.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let mut nav = Navigator::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ui/navigation.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut nav = NavigationState::new();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/forms.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |         let mut input2 = InputState {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/style/mod.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let mut attrs = HashMap::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/style/mod.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let mut attrs = HashMap::new();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/layout/flexbox.rs:290:20
[INFO] [stdout]     |
[INFO] [stdout] 290 |             .map(|(idx, item)| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_axis_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:286:58
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn initialize_item_states(&self, items: &[FlexItem], main_axis_size: f32) -> Vec<FlexItemState> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_axis_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effective_line_cross_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:474:17
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let effective_line_cross_size = if is_single_line {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_line_cross_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/layout/flexbox.rs:481:21
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 let item = &mut items[item_idx];
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x1`
[INFO] [stdout]   --> src/animation.rs:50:21
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn cubic_bezier(x1: f32, y1: f32, x2: f32, y2: f32, t: f32) -> f32 {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_x1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x2`
[INFO] [stdout]   --> src/animation.rs:50:39
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn cubic_bezier(x1: f32, y1: f32, x2: f32, y2: f32, t: f32) -> f32 {
[INFO] [stdout]    |                                       ^^ help: if this is intentional, prefix it with an underscore: `_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mt3`
[INFO] [stdout]   --> src/animation.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mt3 = mt2 * mt;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_mt3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_age`
[INFO] [stdout]    --> src/storage.rs:235:28
[INFO] [stdout]     |
[INFO] [stdout] 235 |         } else if let Some(max_age) = self.max_age {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_age`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/layout/flexbox.rs:290:20
[INFO] [stdout]     |
[INFO] [stdout] 290 |             .map(|(idx, item)| {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_axis_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:286:58
[INFO] [stdout]     |
[INFO] [stdout] 286 |     fn initialize_item_states(&self, items: &[FlexItem], main_axis_size: f32) -> Vec<FlexItemState> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_axis_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effective_line_cross_size`
[INFO] [stdout]    --> src/layout/flexbox.rs:474:17
[INFO] [stdout]     |
[INFO] [stdout] 474 |             let effective_line_cross_size = if is_single_line {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_line_cross_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/layout/flexbox.rs:481:21
[INFO] [stdout]     |
[INFO] [stdout] 481 |                 let item = &mut items[item_idx];
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/dom/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Comment(String),
[INFO] [stdout]   |     ------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Comment(String),
[INFO] [stdout] 8 +     Comment(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `black` and `white` are never used
[INFO] [stdout]   --> src/css/mod.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Color {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn black() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn white() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node` is never read
[INFO] [stdout]  --> src/style/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct StyledNode<'a> {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 8 |     pub node: &'a Node,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `StyledNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AnonymousBlock` is never constructed
[INFO] [stdout]   --> src/layout/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BoxType<'a> {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     AnonymousBlock,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoxType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_size`, `flex_factor`, and `frozen` are never read
[INFO] [stdout]    --> src/layout/flexbox.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct FlexItemState {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 102 |     /// Base size before flex calculations
[INFO] [stdout] 103 |     base_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     flex_factor: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 112 |     /// Is frozen (no longer flexible)
[INFO] [stdout] 113 |     frozen: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexItemState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_size` is never read
[INFO] [stdout]    --> src/layout/flexbox.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct FlexLine {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     main_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Sticky` is never constructed
[INFO] [stdout]   --> src/layout/positioning.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Position {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Sticky,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Position` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_styled_node`, `parse_position`, `parse_offsets`, `parse_offset`, and `parse_z_index` are never used
[INFO] [stdout]    --> src/layout/positioning.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl PositionedElement {
[INFO] [stdout]     | ---------------------- associated functions in this implementation
[INFO] [stdout]  56 |     /// Parse positioning properties from a styled node
[INFO] [stdout]  57 |     pub fn from_styled_node(node: &StyledNode) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     fn parse_position(node: &StyledNode) -> Position {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn parse_offsets(node: &StyledNode) -> Offsets {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn parse_offset(node: &StyledNode, property: &str) -> Option<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn parse_z_index(node: &StyledNode) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_styled_node`, `parse_track_list`, and `parse_gap` are never used
[INFO] [stdout]    --> src/layout/grid.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl GridContainer {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout]  43 |     /// Parse grid properties from a styled node
[INFO] [stdout]  44 |     pub fn from_styled_node(node: &StyledNode) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn parse_track_list(node: &StyledNode, property: &str) -> Vec<TrackSize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn parse_gap(node: &StyledNode, property: &str) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_styled_node`, `parse_line`, and `parse_span` are never used
[INFO] [stdout]    --> src/layout/grid.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl GridItem {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 222 |     /// Parse grid item properties from styled node
[INFO] [stdout] 223 |     pub fn from_styled_node(node: &StyledNode) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn parse_line(node: &StyledNode, property: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn parse_span(node: &StyledNode, end_prop: &str, start_prop: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Window` is never constructed
[INFO] [stdout]   --> src/window/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Window {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inner`, `size`, `request_redraw`, and `run_with_renderer` are never used
[INFO] [stdout]   --> src/window/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Window {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 41 |     /// Create a new window with the given configuration
[INFO] [stdout] 42 |     pub fn new(config: WindowConfig) -> Result<Self, WindowError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn inner(&self) -> &Arc<WinitWindow> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn size(&self) -> PhysicalSize<u32> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn request_redraw(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn run_with_renderer<F>(mut self, mut callback: F) -> Result<(), WindowError>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowError` is never used
[INFO] [stdout]    --> src/window/mod.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub enum WindowError {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_viewport_size`, `can_scroll_x`, and `scroll_percentage_y` are never used
[INFO] [stdout]   --> src/window/scroll.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ScrollState {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn set_viewport_size(&mut self, width: f32, height: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn can_scroll_x(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn scroll_percentage_y(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Renderer` is never constructed
[INFO] [stdout]   --> src/renderer/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Renderer<'window> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/renderer/mod.rs:39:18
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl<'window> Renderer<'window> {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub async fn new(window: &'window Arc<Window>) -> Result<Self, RendererError> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     async fn request_adapter(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn request_device(adapter: &Adapter) -> Result<(Device, Queue), RendererError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn resize(&mut self, width: u32, height: u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn size(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn format(&self) -> TextureFormat {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn device(&self) -> &Device {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn queue(&self) -> &Queue {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn begin_frame(&self) -> Result<wgpu::SurfaceTexture, RendererError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn render<F>(&self, mut render_fn: F) -> Result<(), RendererError>
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn clear(&self, color: [f64; 4]) -> Result<(), RendererError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn render_rects(&mut self, rects: &[(Rect, Color)]) -> Result<(), RendererError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn render_rects_and_borders(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RendererError` is never used
[INFO] [stdout]    --> src/renderer/mod.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub enum RendererError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/painter.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Vertex {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 15 |     const ATTRIBS: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RectPainter` is never constructed
[INFO] [stdout]   --> src/renderer/painter.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct RectPainter {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prepare`, and `render` are never used
[INFO] [stdout]    --> src/renderer/painter.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl RectPainter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  39 |     /// Create a new rectangle painter
[INFO] [stdout]  40 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn prepare(&mut self, _device: &Device, queue: &Queue, rects: &[(Rect, Color)], viewport_size: (u32, u32)) -> usize {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/border_painter.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Vertex {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 15 |     const ATTRIBS: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BorderPainter` is never constructed
[INFO] [stdout]   --> src/renderer/border_painter.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BorderPainter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prepare`, and `render` are never used
[INFO] [stdout]    --> src/renderer/border_painter.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl BorderPainter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  39 |     /// Create a new border painter
[INFO] [stdout]  40 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn prepare(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_rect_vertices` is never used
[INFO] [stdout]    --> src/renderer/border_painter.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn add_rect_vertices(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/text_painter.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TextVertex {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 18 |     const ATTRIBS: [wgpu::VertexAttribute; 3] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextCommand` is never constructed
[INFO] [stdout]   --> src/renderer/text_painter.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TextCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextPainter` is never constructed
[INFO] [stdout]   --> src/renderer/text_painter.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct TextPainter {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update_atlas`, `prepare`, and `render` are never used
[INFO] [stdout]    --> src/renderer/text_painter.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl TextPainter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  55 |     /// Create a new text painter
[INFO] [stdout]  56 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn update_atlas(&mut self, device: &Device, atlas_texture: &Texture) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn prepare(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/image_painter.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ImageVertex {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     const ATTRIBS: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageCommand` is never constructed
[INFO] [stdout]   --> src/renderer/image_painter.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ImageCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpuImage` is never constructed
[INFO] [stdout]   --> src/renderer/image_painter.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct GpuImage {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImagePainter` is never constructed
[INFO] [stdout]   --> src/renderer/image_painter.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct ImagePainter {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `upload_image`, `prepare`, `render`, and `clear_gpu_cache` are never used
[INFO] [stdout]    --> src/renderer/image_painter.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ImagePainter {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  56 |     /// Create a new image painter
[INFO] [stdout]  57 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn upload_image(&mut self, device: &Device, queue: &Queue, decoded: &DecodedImage) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn prepare(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn clear_gpu_cache(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `preload_common_fonts` is never used
[INFO] [stdout]   --> src/renderer/font_manager.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FontManager {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn preload_common_fonts(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `atlas_x`, `atlas_y`, `width`, `bearing_x`, and `bearing_y` are never read
[INFO] [stdout]   --> src/renderer/glyph_cache.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GlyphInfo {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 19 |     /// Position in atlas texture (pixels)
[INFO] [stdout] 20 |     pub atlas_x: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 21 |     pub atlas_y: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 22 |     /// Size of the glyph bitmap (pixels)
[INFO] [stdout] 23 |     pub width: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub bearing_x: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 27 |     pub bearing_y: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GlyphInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `atlas_data` and `mark_clean` are never used
[INFO] [stdout]    --> src/renderer/glyph_cache.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl GlyphCache {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn atlas_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn mark_clean(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `atlas_texture` is never read
[INFO] [stdout]   --> src/renderer/text_renderer.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct TextRenderer {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     atlas_texture: Option<Texture>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/renderer/text_renderer.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl TextRenderer {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  35 |     pub fn init_atlas(&mut self, device: &Device) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn upload_atlas(&mut self, device: &Device, queue: &Queue) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn prepare_text(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn atlas_texture(&self) -> Option<&Texture> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn glyph_cache_mut(&mut self) -> &mut GlyphCache {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn font_manager(&self) -> &FontManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn font_manager_mut(&mut self) -> &mut FontManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format` is never read
[INFO] [stdout]   --> src/renderer/image_cache.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct DecodedImage {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub format: ImageFormat,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DecodedImage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_default_size` is never used
[INFO] [stdout]   --> src/renderer/image_cache.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl ImageCache {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn with_default_size() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/dom/mod.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Text(String),
[INFO] [stdout]   |     ---- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     Text(String),
[INFO] [stdout] 7 +     Text(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/dom/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Comment(String),
[INFO] [stdout]   |     ------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `NodeType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Comment(String),
[INFO] [stdout] 8 +     Comment(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `element_data` and `text_content` are never used
[INFO] [stdout]   --> src/dom/mod.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Node {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn element_data(&self) -> Option<&ElementData> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn text_content(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `black` and `white` are never used
[INFO] [stdout]   --> src/css/mod.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Color {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn black() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn white() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `node` is never read
[INFO] [stdout]  --> src/style/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct StyledNode<'a> {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 8 |     pub node: &'a Node,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `StyledNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AnonymousBlock` is never constructed
[INFO] [stdout]   --> src/layout/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BoxType<'a> {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     AnonymousBlock,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BoxType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_size`, `flex_factor`, and `frozen` are never read
[INFO] [stdout]    --> src/layout/flexbox.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct FlexItemState {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 102 |     /// Base size before flex calculations
[INFO] [stdout] 103 |     base_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     flex_factor: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 112 |     /// Is frozen (no longer flexible)
[INFO] [stdout] 113 |     frozen: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexItemState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_size` is never read
[INFO] [stdout]    --> src/layout/flexbox.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct FlexLine {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     main_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Position` is never used
[INFO] [stdout]  --> src/layout/positioning.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Position {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Offsets` is never constructed
[INFO] [stdout]   --> src/layout/positioning.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Offsets {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionedElement` is never constructed
[INFO] [stdout]   --> src/layout/positioning.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct PositionedElement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/layout/positioning.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl PositionedElement {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  56 |     /// Parse positioning properties from a styled node
[INFO] [stdout]  57 |     pub fn from_styled_node(node: &StyledNode) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     fn parse_position(node: &StyledNode) -> Position {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn parse_offsets(node: &StyledNode) -> Offsets {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn parse_offset(node: &StyledNode, property: &str) -> Option<f32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn parse_z_index(node: &StyledNode) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn is_positioned(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn apply_positioning(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn apply_relative_positioning(&self, dimensions: &mut Dimensions) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn apply_absolute_positioning(&self, dimensions: &mut Dimensions, containing_block: &Dimensions) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn apply_fixed_positioning(&self, dimensions: &mut Dimensions, viewport: &Rect) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TrackSize` is never used
[INFO] [stdout]  --> src/layout/grid.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum TrackSize {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridContainer` is never constructed
[INFO] [stdout]   --> src/layout/grid.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct GridContainer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_styled_node`, `parse_track_list`, `parse_track_size`, `parse_gap`, `layout`, and `calculate_track_sizes` are never used
[INFO] [stdout]    --> src/layout/grid.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl GridContainer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  43 |     /// Parse grid properties from a styled node
[INFO] [stdout]  44 |     pub fn from_styled_node(node: &StyledNode) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn parse_track_list(node: &StyledNode, property: &str) -> Vec<TrackSize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     fn parse_track_size(s: &str) -> Option<TrackSize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn parse_gap(node: &StyledNode, property: &str) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn layout(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn calculate_track_sizes(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridItem` is never constructed
[INFO] [stdout]    --> src/layout/grid.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct GridItem {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_styled_node`, `parse_line`, and `parse_span` are never used
[INFO] [stdout]    --> src/layout/grid.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl GridItem {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] 222 |     /// Parse grid item properties from styled node
[INFO] [stdout] 223 |     pub fn from_styled_node(node: &StyledNode) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn parse_line(node: &StyledNode, property: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn parse_span(node: &StyledNode, end_prop: &str, start_prop: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Window` is never constructed
[INFO] [stdout]   --> src/window/mod.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Window {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowConfig` is never constructed
[INFO] [stdout]   --> src/window/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct WindowConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `inner`, `size`, `request_redraw`, and `run_with_renderer` are never used
[INFO] [stdout]   --> src/window/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Window {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 41 |     /// Create a new window with the given configuration
[INFO] [stdout] 42 |     pub fn new(config: WindowConfig) -> Result<Self, WindowError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn inner(&self) -> &Arc<WinitWindow> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn size(&self) -> PhysicalSize<u32> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn request_redraw(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn run_with_renderer<F>(mut self, mut callback: F) -> Result<(), WindowError>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowError` is never used
[INFO] [stdout]    --> src/window/mod.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub enum WindowError {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScrollState` is never constructed
[INFO] [stdout]  --> src/window/scroll.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ScrollState {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/window/scroll.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl ScrollState {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 29 |     /// Create new scroll state
[INFO] [stdout] 30 |     pub fn new(viewport_width: f32, viewport_height: f32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn set_viewport_size(&mut self, width: f32, height: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn set_content_size(&mut self, width: f32, height: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn scroll_by(&mut self, delta_x: f32, delta_y: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn scroll_to(&mut self, x: f32, y: f32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn clamp_scroll(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn can_scroll_x(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn can_scroll_y(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn scroll_percentage_y(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn apply_offset(&self, x: f32, y: f32) -> (f32, f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Renderer` is never constructed
[INFO] [stdout]   --> src/renderer/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Renderer<'window> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/renderer/mod.rs:39:18
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl<'window> Renderer<'window> {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub async fn new(window: &'window Arc<Window>) -> Result<Self, RendererError> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     async fn request_adapter(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn request_device(adapter: &Adapter) -> Result<(Device, Queue), RendererError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn resize(&mut self, width: u32, height: u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn size(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn format(&self) -> TextureFormat {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn device(&self) -> &Device {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn queue(&self) -> &Queue {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn begin_frame(&self) -> Result<wgpu::SurfaceTexture, RendererError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn render<F>(&self, mut render_fn: F) -> Result<(), RendererError>
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn clear(&self, color: [f64; 4]) -> Result<(), RendererError> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn render_rects(&mut self, rects: &[(Rect, Color)]) -> Result<(), RendererError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn render_rects_and_borders(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RendererError` is never used
[INFO] [stdout]    --> src/renderer/mod.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub enum RendererError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/painter.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Vertex {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 15 |     const ATTRIBS: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RectPainter` is never constructed
[INFO] [stdout]   --> src/renderer/painter.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct RectPainter {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prepare`, and `render` are never used
[INFO] [stdout]    --> src/renderer/painter.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl RectPainter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  39 |     /// Create a new rectangle painter
[INFO] [stdout]  40 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn prepare(&mut self, _device: &Device, queue: &Queue, rects: &[(Rect, Color)], viewport_size: (u32, u32)) -> usize {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/border_painter.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Vertex {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 15 |     const ATTRIBS: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BorderPainter` is never constructed
[INFO] [stdout]   --> src/renderer/border_painter.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BorderPainter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prepare`, and `render` are never used
[INFO] [stdout]    --> src/renderer/border_painter.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl BorderPainter {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  39 |     /// Create a new border painter
[INFO] [stdout]  40 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn prepare(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_rect_vertices` is never used
[INFO] [stdout]    --> src/renderer/border_painter.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn add_rect_vertices(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/text_painter.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TextVertex {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 18 |     const ATTRIBS: [wgpu::VertexAttribute; 3] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextCommand` is never constructed
[INFO] [stdout]   --> src/renderer/text_painter.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TextCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextPainter` is never constructed
[INFO] [stdout]   --> src/renderer/text_painter.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct TextPainter {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update_atlas`, `prepare`, and `render` are never used
[INFO] [stdout]    --> src/renderer/text_painter.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl TextPainter {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  55 |     /// Create a new text painter
[INFO] [stdout]  56 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn update_atlas(&mut self, device: &Device, atlas_texture: &Texture) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn prepare(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ATTRIBS` and `desc` are never used
[INFO] [stdout]   --> src/renderer/image_painter.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ImageVertex {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     const ATTRIBS: [wgpu::VertexAttribute; 2] = wgpu::vertex_attr_array![
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageCommand` is never constructed
[INFO] [stdout]   --> src/renderer/image_painter.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ImageCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpuImage` is never constructed
[INFO] [stdout]   --> src/renderer/image_painter.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct GpuImage {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImagePainter` is never constructed
[INFO] [stdout]   --> src/renderer/image_painter.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct ImagePainter {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `upload_image`, `prepare`, `render`, and `clear_gpu_cache` are never used
[INFO] [stdout]    --> src/renderer/image_painter.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ImagePainter {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  56 |     /// Create a new image painter
[INFO] [stdout]  57 |     pub fn new(device: &Device, surface_format: wgpu::TextureFormat) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn upload_image(&mut self, device: &Device, queue: &Queue, decoded: &DecodedImage) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn prepare(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn render<'rpass>(&'rpass self, render_pass: &mut RenderPass<'rpass>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn clear_gpu_cache(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FontManager` is never constructed
[INFO] [stdout]  --> src/renderer/font_manager.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct FontManager {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `load_system_font`, `get_font`, `default_font`, and `preload_common_fonts` are never used
[INFO] [stdout]   --> src/renderer/font_manager.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FontManager {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 19 |     /// Create a new font manager
[INFO] [stdout] 20 |     pub fn new() -> Result<Self, FontLoadError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn load_system_font(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn get_font(&mut self, family: &str) -> Arc<Font> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn default_font(&self) -> Arc<Font> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn preload_common_fonts(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FontLoadError` is never used
[INFO] [stdout]    --> src/renderer/font_manager.rs:120:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub enum FontLoadError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlyphKey` is never constructed
[INFO] [stdout]  --> src/renderer/glyph_cache.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GlyphKey {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlyphInfo` is never constructed
[INFO] [stdout]   --> src/renderer/glyph_cache.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GlyphInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextureAtlas` is never constructed
[INFO] [stdout]   --> src/renderer/glyph_cache.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct TextureAtlas {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allocate`, `upload_glyph`, `data`, and `dimensions` are never used
[INFO] [stdout]    --> src/renderer/glyph_cache.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl TextureAtlas {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  48 |     /// Create a new texture atlas
[INFO] [stdout]  49 |     pub fn new(width: u32, height: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn allocate(&mut self, width: u32, height: u32) -> Option<(u32, u32)> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn upload_glyph(&mut self, x: u32, y: u32, width: u32, height: u32, data: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn dimensions(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlyphCache` is never constructed
[INFO] [stdout]    --> src/renderer/glyph_cache.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct GlyphCache {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/renderer/glyph_cache.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl GlyphCache {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 125 |     /// Create a new glyph cache with specified atlas size
[INFO] [stdout] 126 |     pub fn new(atlas_width: u32, atlas_height: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn register_font(&mut self, font: Arc<Font>) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_or_rasterize(&mut self, key: GlyphKey) -> Option<GlyphInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn atlas_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn atlas_dimensions(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn is_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn mark_clean(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn glyph_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TextRenderer` is never constructed
[INFO] [stdout]  --> src/renderer/text_renderer.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct TextRenderer {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/renderer/text_renderer.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl TextRenderer {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  19 |     /// Create a new text renderer
[INFO] [stdout]  20 |     pub fn new() -> Result<Self, String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  35 |     pub fn init_atlas(&mut self, device: &Device) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn measure_text(&mut self, text: &str, font_family: &str, font_size: f32) -> (f32, f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn upload_atlas(&mut self, device: &Device, queue: &Queue) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn prepare_text(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn atlas_texture(&self) -> Option<&Texture> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn glyph_cache(&self) -> &GlyphCache {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn glyph_cache_mut(&mut self) -> &mut GlyphCache {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn font_manager(&self) -> &FontManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn font_manager_mut(&mut self) -> &mut FontManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DecodedImage` is never constructed
[INFO] [stdout]  --> src/renderer/image_cache.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DecodedImage {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes` and `byte_size` are never used
[INFO] [stdout]   --> src/renderer/image_cache.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl DecodedImage {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 20 |     /// Create from raw image bytes
[INFO] [stdout] 21 |     pub fn from_bytes(url: Url, bytes: &[u8]) -> Result<Self, ImageError> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn byte_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImageCache` is never constructed
[INFO] [stdout]   --> src/renderer/image_cache.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct ImageCache {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/renderer/image_cache.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl ImageCache {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  55 |     /// Create a new image cache with specified size limit
[INFO] [stdout]  56 |     pub fn new(max_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn with_default_size() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn load_from_bytes(&mut self, url: Url, bytes: &[u8]) -> Result<&DecodedImage, ImageError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get(&self, url: &Url) -> Option<&DecodedImage> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn evict_oldest(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn size(&self) -> usize {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `IndexData` is more private than the item `indexeddb::IDBObjectStore::index`
[INFO] [stdout]    --> src/indexeddb.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     pub fn index(&self, name: &str) -> Result<&IndexData, IDBError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `indexeddb::IDBObjectStore::index` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `IndexData` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/indexeddb.rs:183:1
[INFO] [stdout]     |
[INFO] [stdout] 183 | struct IndexData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_size`, `flex_factor`, and `frozen` are never read
[INFO] [stdout]    --> src/layout/flexbox.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct FlexItemState {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 102 |     /// Base size before flex calculations
[INFO] [stdout] 103 |     base_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     flex_factor: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 112 |     /// Is frozen (no longer flexible)
[INFO] [stdout] 113 |     frozen: bool,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexItemState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_size` is never read
[INFO] [stdout]    --> src/layout/flexbox.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct FlexLine {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 126 |     main_size: f32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FlexLine` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]   --> src/renderer/image_painter.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct GpuImage {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 39 |     texture: Texture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/canvas.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | struct DrawingState {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     line_cap: LineCap,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 85 |     /// Line join
[INFO] [stdout] 86 |     line_join: LineJoin,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     global_composite_operation: CompositeOperation,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     /// Font
[INFO] [stdout] 92 |     font: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 93 |     /// Text align
[INFO] [stdout] 94 |     text_align: TextAlign,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 95 |     /// Text baseline
[INFO] [stdout] 96 |     text_baseline: TextBaseline,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 97 |     /// Transform matrix
[INFO] [stdout] 98 |     transform: [f32; 6], // a, b, c, d, e, f
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DrawingState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/observers.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct IntersectionObserver {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] 133 |     /// Observer ID
[INFO] [stdout] 134 |     id: ObserverId,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/observers.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct ResizeObserver {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 284 |     /// Observer ID
[INFO] [stdout] 285 |     id: ObserverId,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direction` is never read
[INFO] [stdout]    --> src/indexeddb.rs:414:5
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub struct IDBCursor {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 414 |     direction: IDBCursorDirection,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IDBCursor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
[INFO] running `Command { std: "docker" "inspect" "1a9f5031080b758c01c6f1e475db008d04741ff5ecf17debbcdac94ab948cc25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a9f5031080b758c01c6f1e475db008d04741ff5ecf17debbcdac94ab948cc25", kill_on_drop: false }`
[INFO] [stdout] 1a9f5031080b758c01c6f1e475db008d04741ff5ecf17debbcdac94ab948cc25
