[INFO] cloning repository https://github.com/opensitez/HtmlBox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/opensitez/HtmlBox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopensitez%2FHtmlBox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopensitez%2FHtmlBox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ad723f49fda14d815414b7c130883e08a855175d
[INFO] checking opensitez/HtmlBox against 49a6044d37d694890450f52ceaceb66277a36b1e for pr-161154
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopensitez%2FHtmlBox" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/opensitez/HtmlBox
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/opensitez/HtmlBox
[INFO] tweaked toml for git repo https://github.com/opensitez/HtmlBox written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/opensitez/HtmlBox on toolchain 49a6044d37d694890450f52ceaceb66277a36b1e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/opensitez/HtmlBox 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" "+49a6044d37d694890450f52ceaceb66277a36b1e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to highest compatible version
[INFO] [stderr]       Adding base64 v0.21.7 (available: v0.23.1)
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3
[INFO] running `Command { std: "docker" "start" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3" "/opt/rustwide/cargo-home/bin/cargo" "+49a6044d37d694890450f52ceaceb66277a36b1e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling wayland-sys v0.31.10
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling wayland-scanner v0.31.9
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling drm-sys v0.8.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking ttf-parser v0.24.1
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking compression-codecs v0.4.37
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]     Checking kurbo v0.11.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking unicode-ccc v0.3.0
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.3.0
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking svgtypes v0.15.3
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking simplecss v0.2.2
[INFO] [stderr]     Checking imagesize v0.13.0
[INFO] [stderr]     Checking xmlwriter v0.1.0
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking fontdb v0.22.0
[INFO] [stderr]     Checking ctor-lite v0.1.2
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking data-url v0.3.2
[INFO] [stderr]     Checking unicode-vo v0.1.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tiny-xlib v0.2.4
[INFO] [stderr]     Checking zune-jpeg v0.5.13
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking wayland-backend v0.3.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking wayland-client v0.31.13
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking drm-ffi v0.9.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking async-compression v0.4.41
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking image-webp v0.1.3
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking wayland-protocols v0.32.11
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking font-types v0.10.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking font-types v0.11.0
[INFO] [stderr]     Checking read-fonts v0.35.0
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking read-fonts v0.37.0
[INFO] [stderr]     Checking wayland-cursor v0.31.13
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking calloop-wayland-source v0.3.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 rustybuzz v0.18.0
[INFO] [stderr]     Checking drm v0.14.2
[INFO] [stderr]     Checking tiny-skia-path v0.12.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking fontdb v0.23.0
[INFO] [stderr]     Checking smol_str v0.3.6
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking softbuffer v0.4.8
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking usvg v0.44.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking tiny-skia v0.12.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.11
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.11
[INFO] [stderr]     Checking resvg v0.44.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking skrifa v0.37.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking harfrust v0.5.2
[INFO] [stderr]     Checking skrifa v0.40.0
[INFO] [stderr]     Checking winit v0.30.13
[INFO] [stderr]     Checking swash v0.2.6
[INFO] [stderr]     Checking cosmic-text v0.18.2
[INFO] [stderr]     Checking webcore v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]    --> src/tests/test_animation.rs:653:9
[INFO] [stdout]     |
[INFO] [stdout] 653 |     use std::collections::HashMap;
[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: `crate::layout::hit_test::hit_test_box_at`
[INFO] [stdout]  --> src/tests/test_floats.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::layout::hit_test::hit_test_box_at;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Renderer`
[INFO] [stdout]  --> src/tests/test_form_elements.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{parse_html, Renderer, Document};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::harness::find_box`
[INFO] [stdout]    --> src/tests/test_render.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     use super::harness::find_box;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::layout::LayoutEngine`
[INFO] [stdout]   --> src/tests/test_parser_robustness.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::layout::LayoutEngine;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::css::apply_property`
[INFO] [stdout]   --> src/tests/test_display_contents.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::css::apply_property;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::dom::arena::NodeId`
[INFO] [stdout]  --> src/tests/test_event_dispatch.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::dom::arena::NodeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::frame::EngineFrame`
[INFO] [stdout]  --> src/tests/test_layout_split.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::frame::EngineFrame;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Canvas`
[INFO] [stdout]     --> src/canvas/tinyskia.rs:2060:25
[INFO] [stdout]      |
[INFO] [stdout] 2060 |     use crate::canvas::{Canvas as _, Color, FillRule, Path2D};
[INFO] [stdout]      |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Canvas`
[INFO] [stdout]    --> src/canvas/surface.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |     use crate::canvas::{Canvas, Color, Font};
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parse_html`
[INFO] [stdout]   --> tests/test_rendering.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | use webcore::{load_html, parse_html, Renderer};
[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: `parse_html`
[INFO] [stdout]  --> tests/test_grid.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use webcore::{load_html, parse_html};
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/edit_demo.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 let mut engine = self.renderer.layout_engine();
[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]    --> examples/edit_demo.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 let mut engine = self.renderer.layout_engine();
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g2`
[INFO] [stdout]    --> tests/test_rendering.rs:407:14
[INFO] [stdout]     |
[INFO] [stdout] 407 |     let (r2, g2, b2, _) = pixel_at(&pixmap, 50, 25, 2.0);
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_g2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_m`
[INFO] [stdout]    --> src/html/streaming.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let final_m = parser.finish();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_m`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::types::*`
[INFO] [stdout]  --> tests/test_events.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use webcore::types::*;
[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 variable: `parent`
[INFO] [stdout]   --> tests/test_css_misc.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let parent = by_id(&d.root,"parent").unwrap();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::layout::LayoutEngine`
[INFO] [stdout]  --> tests/test_cascade.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use webcore::layout::LayoutEngine;
[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: `webcore::css::apply_property`
[INFO] [stdout]  --> tests/test_cascade.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use webcore::css::apply_property;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::load_html_vp`
[INFO] [stdout]  --> tests/test_media_container.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use webcore::load_html_vp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_events.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut listeners = EventListeners::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]   --> tests/test_events.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let mut listeners = EventListeners::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]   --> tests/test_events.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut listeners = EventListeners::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]   --> tests/test_events.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let mut listeners = EventListeners::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]   --> tests/test_events.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let mut listeners = EventListeners::new();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> tests/test_links.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let pos = text.find("Link").unwrap();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::load_html_vp`
[INFO] [stdout]  --> tests/test_selectors_media.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use webcore::load_html_vp;
[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: `webcore::types::*`
[INFO] [stdout]  --> tests/test_undo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use webcore::types::*;
[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 variable: `d2`
[INFO] [stdout]   --> tests/test_undo.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let d2 = parse_html("<p>2</p>");
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_d2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `by_class` is never used
[INFO] [stdout]   --> tests/test_selectors_media.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn by_class<'a>(root: &'a WebCore, cls: &str) -> Option<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_boxes` is never used
[INFO] [stdout]   --> tests/test_cascade.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn count_boxes<F: Fn(&WebCore) -> bool>(root: &WebCore, pred: &F) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `doc_text` is never used
[INFO] [stdout]   --> tests/test_cascade.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn doc_text(doc: &Document) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LayoutEngine`
[INFO] [stdout]   --> examples/overflow.rs:11:46
[INFO] [stdout]    |
[INFO] [stdout] 11 | use webcore::{load_html, Document, Renderer, LayoutEngine, HtmlEventType};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walk_boxes` is never used
[INFO] [stdout]   --> tests/test_flex.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn walk_boxes<F: FnMut(&WebCore)>(root: &WebCore, visitor: &mut F) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> examples/event_playground.rs:421:88
[INFO] [stdout]     |
[INFO] [stdout] 421 |         doc.events.add("#zone-pointer", HtmlEventType::PointerOut, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> examples/event_playground.rs:415:89
[INFO] [stdout]     |
[INFO] [stdout] 415 |         doc.events.add("#zone-pointer", HtmlEventType::PointerOver, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/event_playground.rs:205:81
[INFO] [stdout]     |
[INFO] [stdout] 205 |         doc.events.add("#btn-dblclick", HtmlEventType::DblClick, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/event_playground.rs:195:75
[INFO] [stdout]     |
[INFO] [stdout] 195 |         doc.events.add("#btn-click", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                           ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> examples/event_playground.rs:189:85
[INFO] [stdout]     |
[INFO] [stdout] 189 |         doc.events.add("#zone-hover", HtmlEventType::MouseMove, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stat_id` is never used
[INFO] [stdout]   --> examples/event_playground.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl EvCat {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn stat_id(self) -> &'static str {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/graph_demo.rs:354:69
[INFO] [stdout]     |
[INFO] [stdout] 354 |             doc.events.add(id, HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/graph_demo.rs:389:76
[INFO] [stdout]     |
[INFO] [stdout] 389 |         doc.events.add("#btn-shrink", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                            ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/graph_demo.rs:379:74
[INFO] [stdout]     |
[INFO] [stdout] 379 |         doc.events.add("#btn-grow", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/graph_demo.rs:368:74
[INFO] [stdout]     |
[INFO] [stdout] 368 |         doc.events.add("#btn-rand", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> examples/graph_demo.rs:495:25
[INFO] [stdout]     |
[INFO] [stdout] 495 |                         _ => {}
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> examples/graph_demo.rs:495:25
[INFO] [stdout]     |
[INFO] [stdout] 483 |                         ElementState::Pressed => {
[INFO] [stdout]     |                         --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 486 |                         ElementState::Released => {
[INFO] [stdout]     |                         ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 495 |                         _ => {}
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/graph_demo.rs:460:25
[INFO] [stdout]     |
[INFO] [stdout] 460 |                     let mut engine = self.renderer.layout_engine();
[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]    --> examples/graph_demo.rs:491:37
[INFO] [stdout]     |
[INFO] [stdout] 491 | ...                   let mut engine = self.renderer.layout_engine();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> tests/test_display_modes.rs:290:9
[INFO] [stdout]     |
[INFO] [stdout] 290 |     let b = by_id(&d.root,"b").unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> tests/test_display_modes.rs:484:9
[INFO] [stdout]     |
[INFO] [stdout] 484 |     let name = by_id(&d.root,"name").unwrap();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all` is never used
[INFO] [stdout]   --> tests/test_display_modes.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn find_all<'a>(root: &'a WebCore, pred: &dyn Fn(&WebCore) -> bool) -> Vec<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find` is never used
[INFO] [stdout]   --> tests/test_images_svg.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn find<'a>(root: &'a WebCore, pred: &dyn Fn(&WebCore) -> bool) -> Option<&'a WebCore> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all` is never used
[INFO] [stdout]   --> tests/test_images_svg.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn find_all<'a>(root: &'a WebCore, pred: &dyn Fn(&WebCore) -> bool) -> Vec<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LayoutEngine`
[INFO] [stdout]   --> examples/cascade_features.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 | use webcore::{load_html_vp, Document, Renderer, LayoutEngine, HtmlEventType};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/cascade_features.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut engine = self.renderer.layout_engine();
[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]   --> examples/cascade_features.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     let mut engine = self.renderer.layout_engine();
[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]    --> examples/minesweeper.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 |                     let mut mapped_button = button;
[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: unused import: `LayoutEngine`
[INFO] [stdout]   --> examples/eudora_demo.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 | use webcore::{load_html, Document, Renderer, LayoutEngine, HtmlEventType};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_editing.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut p = query_selector_mut(&mut doc.root, "p").unwrap();
[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]   --> tests/test_editing.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut p = query_selector_mut(&mut doc.root, "p").unwrap();
[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]   --> tests/test_editing.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut p = query_selector_mut(&mut doc.root, "p").unwrap();
[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]   --> tests/test_editing.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let mut p = query_selector_mut(&mut doc.root, "p").unwrap();
[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]   --> examples/regression_test.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut eng = renderer.layout_engine();
[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: unused import: `Mutex`
[INFO] [stdout]   --> examples/forms_demo.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::{Arc, Mutex};
[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 variable: `phone`
[INFO] [stdout]   --> examples/forms_demo.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let phone = dom::query_selector(root, "#phone")
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_phone`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/forms_demo.rs:121:66
[INFO] [stdout]     |
[INFO] [stdout] 121 |             doc.events.add(&sel, HtmlEventType::Click, Box::new(|evt, root| {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/forms_demo.rs:130:66
[INFO] [stdout]     |
[INFO] [stdout] 130 |             doc.events.add(&sel, HtmlEventType::Click, Box::new(|evt, root| {
[INFO] [stdout]     |                                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/forms_demo.rs:147:70
[INFO] [stdout]     |
[INFO] [stdout] 147 |         doc.events.add("#reset-btn", HtmlEventType::Click, Box::new(|evt, root| {
[INFO] [stdout]     |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/forms_demo.rs:136:70
[INFO] [stdout]     |
[INFO] [stdout] 136 |         doc.events.add("#order-btn", HtmlEventType::Click, Box::new(|evt, root| {
[INFO] [stdout]     |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_boxes` is never used
[INFO] [stdout]   --> tests/test_layout_features.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn count_boxes(root: &WebCore, pred: &dyn Fn(&WebCore) -> bool) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walk_boxes_t` is never used
[INFO] [stdout]    --> tests/test_layout_features.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn walk_boxes_t<F: FnMut(&WebCore)>(root: &WebCore, f: &mut F) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::dom`
[INFO] [stdout]  --> tests/test_shadow_dom.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use webcore::dom;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_boxes` is never used
[INFO] [stdout]   --> tests/test_display.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn count_boxes<F: Fn(&WebCore) -> bool>(root: &WebCore, pred: &F) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LayoutEngine`
[INFO] [stdout]   --> examples/transform_filter_demo.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 | use webcore::{load_html_vp, Document, Renderer, LayoutEngine, HtmlEventType};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/transform_filter_demo.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut engine = self.renderer.layout_engine();
[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]   --> examples/transform_filter_demo.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     let mut engine = self.renderer.layout_engine();
[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]    --> examples/markdown_demo.rs:265:21
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 let mut engine = self.renderer.layout_engine();
[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]    --> examples/markdown_demo.rs:379:25
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     let mut engine = self.renderer.layout_engine();
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/dom/arena.rs:650:13
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let b = arena.create_element("b");
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expr` is never read
[INFO] [stdout]   --> examples/calculator.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct App {
[INFO] [stdout]    |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     expr: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LayoutEngine`
[INFO] [stdout]   --> examples/email_demo.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use webcore::{Document, Renderer, LayoutEngine, load_html_vp, HtmlEventType};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/email_demo.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut engine = self.renderer.layout_engine();
[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]   --> examples/email_demo.rs:63:25
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     let mut engine = self.renderer.layout_engine();
[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]   --> examples/contenteditable_demo.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let mut engine = self.renderer.layout_engine();
[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]    --> examples/contenteditable_demo.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 let mut engine = self.renderer.layout_engine();
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> tests/test_tables_advanced.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let c = by_id(&d.root,"c").unwrap();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pw`
[INFO] [stdout]    --> examples/print_demo.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let pw = pixmap.width()  as f32;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_pw`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_edit_ops.rs:847:9
[INFO] [stdout]     |
[INFO] [stdout] 847 |     let mut doc = parse_and_layout(html);
[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: unused variable: `a`
[INFO] [stdout]    --> tests/test_tables_advanced.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 564 |     let a = by_id(&d.root,"a").unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all` is never used
[INFO] [stdout]   --> tests/test_tables_advanced.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn find_all<'a>(root: &'a WebCore, pred: &dyn Fn(&WebCore) -> bool) -> Vec<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::layout::LayoutEngine`
[INFO] [stdout]   --> tests/test_features.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use webcore::layout::LayoutEngine;
[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: `TextRange` and `query_selector_all`
[INFO] [stdout]   --> tests/test_features.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Editor, TextRange,
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout] 15 |     query_selector, query_selector_mut, query_selector_all,
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LayoutEngine`
[INFO] [stdout]  --> examples/events_demo.rs:8:46
[INFO] [stdout]   |
[INFO] [stdout] 8 | use webcore::{load_html, Document, Renderer, LayoutEngine, WebCore};
[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 variable: `a`
[INFO] [stdout]    --> tests/test_grid_advanced.rs:828:9
[INFO] [stdout]     |
[INFO] [stdout] 828 |     let a = by_id(&doc.root, "a").unwrap();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all` is never used
[INFO] [stdout]   --> tests/test_grid_advanced.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn find_all<'a>(root: &'a WebCore, pred: &dyn Fn(&WebCore) -> bool) -> Vec<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_features.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |     let mut text = String::from("cat and cat and cat");
[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: function `by_class` is never used
[INFO] [stdout]   --> tests/test_css_variables.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn by_class<'a>(root: &'a WebCore, cls: &str) -> Option<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/test_selectors.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut b = WebCore::new("p");
[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/tests/test_selectors.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let mut b_first = WebCore::new("li");
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WebCore`
[INFO] [stdout]   --> examples/tictactoe.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 | use webcore::{Document, Renderer, WebCore};
[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 variable: `evt`
[INFO] [stdout]    --> examples/tictactoe.rs:180:79
[INFO] [stdout]     |
[INFO] [stdout] 180 |             doc.events.add("#diff-hard", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/tictactoe.rs:176:79
[INFO] [stdout]     |
[INFO] [stdout] 176 |             doc.events.add("#diff-easy", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `evt`
[INFO] [stdout]    --> examples/tictactoe.rs:161:75
[INFO] [stdout]     |
[INFO] [stdout] 161 |             doc.events.add("#reset", HtmlEventType::Click, Box::new(move |evt, root| {
[INFO] [stdout]     |                                                                           ^^^ help: if this is intentional, prefix it with an underscore: `_evt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `score_x`, `score_o`, and `score_d` are never read
[INFO] [stdout]   --> examples/tictactoe.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct AppState {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 93 |     next_x: bool,
[INFO] [stdout] 94 |     score_x: i32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 95 |     score_o: i32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 96 |     score_d: i32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webcore::parse_html`
[INFO] [stdout]  --> tests/test_navigation.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use webcore::parse_html;
[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: `webcore::layout::LayoutEngine`
[INFO] [stdout]  --> tests/test_navigation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use webcore::layout::LayoutEngine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has`
[INFO] [stdout]     --> tests/test_units_calc_pseudo.rs:1173:9
[INFO] [stdout]      |
[INFO] [stdout] 1173 |     let has = !t.style.after_content.is_empty() || t.children.iter().any(|c| c.tag == "::after");
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_has`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has`
[INFO] [stdout]     --> tests/test_units_calc_pseudo.rs:1424:9
[INFO] [stdout]      |
[INFO] [stdout] 1424 |     let has = !t.style.before_content.is_empty() || t.children.iter().any(|c| c.tag == "::before");
[INFO] [stdout]      |         ^^^ help: if this is intentional, prefix it with an underscore: `_has`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_bottom`
[INFO] [stdout]     --> tests/test_apnews_features.rs:1200:13
[INFO] [stdout]      |
[INFO] [stdout] 1200 |         let prev_bottom = paras[i-1].layout.border_rect.y + paras[i-1].layout.border_rect.h;
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_bottom`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_top`
[INFO] [stdout]     --> tests/test_apnews_features.rs:1201:13
[INFO] [stdout]      |
[INFO] [stdout] 1201 |         let curr_top = paras[i].layout.border_rect.y;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_top`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LayoutEngine`
[INFO] [stdout]   --> examples/layout_features.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | use webcore::{load_html_vp, Document, Renderer, LayoutEngine, HtmlEventType};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_all` is never used
[INFO] [stdout]   --> tests/test_units_calc_pseudo.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn find_all<'a>(root: &'a WebCore, pred: &dyn Fn(&WebCore) -> bool) -> Vec<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> tests/test_apnews_features.rs:1441:10
[INFO] [stdout]      |
[INFO] [stdout] 1441 |     for (i, overlap) in overlaps.iter().enumerate().take(20) {
[INFO] [stdout]      |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/layout_features.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let mut engine = self.renderer.layout_engine();
[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]   --> examples/layout_features.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |                     let mut engine = self.renderer.layout_engine();
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side_right`
[INFO] [stdout]     --> tests/test_apnews_features.rs:1804:9
[INFO] [stdout]      |
[INFO] [stdout] 1804 |     let side_right = side[0].layout.content_rect.x + side[0].layout.content_rect.w;
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_side_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_right`
[INFO] [stdout]    --> src/tests/test_form_elements.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let input_right = input.layout.margin_rect.x + input.layout.margin_rect.w;
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_box_mut` is never used
[INFO] [stdout]   --> tests/test_apnews_features.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn find_box_mut<'a, F: Fn(&WebCore) -> bool>(root: &'a mut WebCore, pred: &F) -> Option<&'a mut WebCore> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/tests/test_form_elements.rs:1312:9
[INFO] [stdout]      |
[INFO] [stdout] 1312 |     let mut doc = layout_html(r#"<input type="hidden" name="t">"#, 400.0);
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/tests/test_render.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let (r, g, b, _) = pixel(&pm, 50, 50);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/tests/test_render.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |     let (r, g, b, _) = pixel(&pm, 50, 50);
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flat`
[INFO] [stdout]    --> src/tests/test_caret.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let flat = collect_flat_text(node);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_flat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/test_scroll.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let mut doc = layout(r#"<html><head><style>
[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]    --> tests/test_dom.rs:840:9
[INFO] [stdout]     |
[INFO] [stdout] 840 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:847:9
[INFO] [stdout]     |
[INFO] [stdout] 847 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:854:9
[INFO] [stdout]     |
[INFO] [stdout] 854 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:861:9
[INFO] [stdout]     |
[INFO] [stdout] 861 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:872:9
[INFO] [stdout]     |
[INFO] [stdout] 872 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:881:9
[INFO] [stdout]     |
[INFO] [stdout] 881 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:893:9
[INFO] [stdout]     |
[INFO] [stdout] 893 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:902:9
[INFO] [stdout]     |
[INFO] [stdout] 902 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:910:9
[INFO] [stdout]     |
[INFO] [stdout] 910 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:923:9
[INFO] [stdout]     |
[INFO] [stdout] 923 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:953:9
[INFO] [stdout]     |
[INFO] [stdout] 953 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:962:9
[INFO] [stdout]     |
[INFO] [stdout] 962 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:971:9
[INFO] [stdout]     |
[INFO] [stdout] 971 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:985:9
[INFO] [stdout]     |
[INFO] [stdout] 985 |     let mut listeners = EventListeners::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]    --> tests/test_dom.rs:995:9
[INFO] [stdout]     |
[INFO] [stdout] 995 |     let mut listeners = EventListeners::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]     --> tests/test_dom.rs:1004:9
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     let mut listeners = EventListeners::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]     --> tests/test_dom.rs:1063:9
[INFO] [stdout]      |
[INFO] [stdout] 1063 |     let mut listeners = EventListeners::new();
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_box` is never used
[INFO] [stdout]   --> tests/test_dom.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn find_box<'a, F: Fn(&WebCore) -> bool>(root: &'a WebCore, pred: &F) -> Option<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/browser.rs:541:21
[INFO] [stdout]     |
[INFO] [stdout] 541 |                 let mut eng = self.renderer.layout_engine();
[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]    --> examples/browser.rs:550:13
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let mut eng = self.renderer.layout_engine();
[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]    --> examples/browser.rs:557:17
[INFO] [stdout]     |
[INFO] [stdout] 557 |             let mut eng = self.renderer.layout_engine();
[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]    --> examples/browser.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let mut eng = self.chrome_renderer.layout_engine();
[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]    --> examples/browser.rs:740:27
[INFO] [stdout]     |
[INFO] [stdout] 740 |                     { let mut eng = chrome_renderer.layout_engine(); eng.layout(&mut dom_doc, panel_w_logical); }
[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]    --> examples/browser.rs:766:27
[INFO] [stdout]     |
[INFO] [stdout] 766 |                     { let mut eng = chrome_renderer.layout_engine(); eng.layout(&mut tabs_doc, panel_w_logical); }
[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]    --> examples/browser.rs:902:29
[INFO] [stdout]     |
[INFO] [stdout] 902 |                         let mut eng = self.renderer.layout_engine();
[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]    --> examples/browser.rs:931:29
[INFO] [stdout]     |
[INFO] [stdout] 931 |                         let mut eng = self.renderer.layout_engine();
[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]     --> examples/browser.rs:1086:41
[INFO] [stdout]      |
[INFO] [stdout] 1086 | ...                   let mut eng = self.renderer.layout_engine();
[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]     --> examples/browser.rs:1167:33
[INFO] [stdout]      |
[INFO] [stdout] 1167 | ...                   let mut eng = self.renderer.layout_engine();
[INFO] [stdout]      |                           ----^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chain_nav2`
[INFO] [stdout]    --> src/tests/test_incremental_cascade.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     let chain_nav2 = build_hover_chain(&doc_layout.root, nav2);
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chain_nav2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/test_dhtml.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut f = frame(r#"<div style="color: red"><p id="child">text</p></div>"#);
[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/tests/test_dhtml.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut f = frame(r#"<div style="font-size: 24px"><span id="s">text</span></div>"#);
[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/tests/test_dhtml.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let mut f = frame(r#"<div style="background-color: blue"><p id="child">text</p></div>"#);
[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/tests/test_dhtml.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut f = frame(r#"<div style="display: flex"><span id="child">text</span></div>"#);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `btn`
[INFO] [stdout]    --> src/tests/test_dhtml.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let btn = f.doc.get_element_by_id("btn").unwrap();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_btn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tests/test_dhtml.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let mut f = frame(html);
[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/tests/test_dhtml.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     let mut f = frame(html);
[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/tests/test_dhtml.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let mut f = frame(r#"
[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/tests/test_dhtml.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let mut f = frame(r#"
[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/tests/test_dhtml.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let mut f = frame(r#"<div id="box" style="max-width: 300px">content</div>"#);
[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/tests/test_dhtml.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |     let mut f = frame(r#"<div id="box" style="width: min(300px, 50%)">x</div>"#);
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> examples/browser.rs:2867:26
[INFO] [stdout]      |
[INFO] [stdout] 2478 |             "html" => {
[INFO] [stdout]      |             ------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 2867 |             "dom-html" | "html" => {
[INFO] [stdout]      |                          ^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/layout/fragment.rs:487:12
[INFO] [stdout]     |
[INFO] [stdout] 487 |         fn count(f: &Fragment) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disabled_input_not_focusable` is never used
[INFO] [stdout]     --> src/tests/test_form_elements.rs:1837:4
[INFO] [stdout]      |
[INFO] [stdout] 1837 | fn disabled_input_not_focusable() {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_box_with_lines` is never used
[INFO] [stdout]   --> src/tests/test_caret.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn find_box_with_lines(root: &WebCore) -> Option<&WebCore> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_by_tag` is never used
[INFO] [stdout]   --> src/tests/test_shadow_dom.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn find_by_tag<'a>(node: &'a WebCore, tag: &str) -> Option<&'a WebCore> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_full` is never used
[INFO] [stdout]   --> src/tests/test_display_list.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn build_full(html: &str) -> (EngineFrame, DisplayList) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> examples/browser.rs:3110:21
[INFO] [stdout]      |
[INFO] [stdout] 3110 |                 let mut eng = self.renderer.layout_engine();
[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]     --> examples/browser.rs:3652:9
[INFO] [stdout]      |
[INFO] [stdout] 3652 |     let mut eng = renderer.layout_engine();
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]     --> examples/browser.rs:3744:71
[INFO] [stdout]      |
[INFO] [stdout] 3744 | ...t, renderer: &mut Renderer, url: &str, width: f32, height: f32, line: &str, _cache_dir: &Option<String>, chrome_port: u16) -> S...
[INFO] [stdout]      |                                ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAB_H` is never used
[INFO] [stdout]   --> examples/browser.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const TAB_H: f32 = 36.0;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&String` instead of cloning the inner type
[INFO] [stdout]     --> examples/browser.rs:1726:45
[INFO] [stdout]      |
[INFO] [stdout] 1726 |                 attrs.sort_by_key(|(k, _)| k.clone());
[INFO] [stdout]      |                                             ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&String` instead of cloning the inner type
[INFO] [stdout]     --> examples/browser.rs:1740:44
[INFO] [stdout]      |
[INFO] [stdout] 1740 |                 data.sort_by_key(|(k, _)| k.clone());
[INFO] [stdout]      |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 32s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: winit v0.30.13
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3", kill_on_drop: false }`
[INFO] [stdout] 2b5dfc0e3c26c276094063ee0741659a0d99ac182eddb9d88fb2aaa1b31c42d3
