[INFO] cloning repository https://github.com/GlobalAstral/Hatch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GlobalAstral/Hatch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGlobalAstral%2FHatch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGlobalAstral%2FHatch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e9720a07a705714071a1a520f5ca97b0c8b0896c
[INFO] checking GlobalAstral/Hatch against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGlobalAstral%2FHatch" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/GlobalAstral/Hatch
[INFO] finished tweaking git repo https://github.com/GlobalAstral/Hatch
[INFO] tweaked toml for git repo https://github.com/GlobalAstral/Hatch written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GlobalAstral/Hatch on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GlobalAstral/Hatch already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `Hatch` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-1-tc1/source/target/.../Hatch
[INFO] [stderr]    |                                                  ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `hatch`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:6:8
[INFO] [stderr]    |
[INFO] [stderr]  6 - name = "Hatch"
[INFO] [stderr]  6 + name = "hatch"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `hatch`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:7:19
[INFO] [stderr]    |
[INFO] [stderr]  7 ~ version = "0.1.0"
[INFO] [stderr]  8 + [[bin]]
[INFO] [stderr]  9 + name = "hatch"
[INFO] [stderr] 10 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `Hatch` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a
[INFO] running `Command { std: "docker" "start" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a", 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" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a", 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" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `Hatch` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../Hatch
[INFO] [stderr]    |                          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `hatch`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:6:8
[INFO] [stderr]    |
[INFO] [stderr]  6 - name = "Hatch"
[INFO] [stderr]  6 + name = "hatch"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `hatch`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:7:19
[INFO] [stderr]    |
[INFO] [stderr]  7 ~ version = "0.1.0"
[INFO] [stderr]  8 + [[bin]]
[INFO] [stderr]  9 + name = "hatch"
[INFO] [stderr] 10 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `Hatch` (manifest) generated 1 warning
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling miniquad v0.4.8
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking quad-rand v0.2.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking fontdue v0.9.3
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking macroquad v0.4.14
[INFO] [stderr]     Checking Hatch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `color::Color`
[INFO] [stdout]  --> src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use macroquad::{color::Color, miniquad::conf::Icon, window::Conf};
[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: `Button`, `Grid`, and `Label`
[INFO] [stdout]  --> src/main.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::hatch::{core::Hatch, widgets::{Button, Grid, Label}};
[INFO] [stdout]   |                                           ^^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/hatch/types.rs:1:53
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::{Any, TypeId}, collections::HashMap, error::Error};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any`, `TypeId`, and `collections::HashMap`
[INFO] [stdout]  --> src/hatch/widgets.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::{Any, TypeId}, collections::HashMap, error::Error};
[INFO] [stdout]   |                 ^^^  ^^^^^^   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `color::Color`
[INFO] [stdout]  --> src/main.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use macroquad::{color::Color, miniquad::conf::Icon, window::Conf};
[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: `Button`, `Grid`, and `Label`
[INFO] [stdout]  --> src/main.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::hatch::{core::Hatch, widgets::{Button, Grid, Label}};
[INFO] [stdout]   |                                           ^^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/hatch/types.rs:1:53
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::{Any, TypeId}, collections::HashMap, error::Error};
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any`, `TypeId`, and `collections::HashMap`
[INFO] [stdout]  --> src/hatch/widgets.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{any::{Any, TypeId}, collections::HashMap, error::Error};
[INFO] [stdout]   |                 ^^^  ^^^^^^   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `font_from_path` is never used
[INFO] [stdout]   --> src/hatch/types.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn font_from_path(path: &str) -> Font {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]  --> src/hatch/widgets.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct WidgetContext {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 9 |   pub transform: Transform,
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_transform` is never used
[INFO] [stdout]   --> src/hatch/widgets.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl WidgetContext {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 20 |   pub fn with_transform(mut self, transform: Transform) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Group` is never constructed
[INFO] [stdout]   --> src/hatch/widgets.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Group {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `builder` is never used
[INFO] [stdout]   --> src/hatch/widgets.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Group {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 42 |   pub fn builder() -> GroupBuilder {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupBuilder` is never constructed
[INFO] [stdout]   --> src/hatch/widgets.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct GroupBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `child`, `place`, and `build` are never used
[INFO] [stdout]   --> src/hatch/widgets.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl GroupBuilder {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 55 |   pub fn child(&mut self, widget: Box<dyn Widget>) -> &mut Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn place(&mut self, x: f32, y: f32) -> &mut Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |   pub fn build(self) -> Box<Group> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Label` is never constructed
[INFO] [stdout]   --> src/hatch/widgets.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Label {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Label {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 106 |   pub fn builder() -> LabelBuilder {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   pub fn measure(&self) -> (f32, f32) {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn text(&self) -> &String {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   pub fn line_distance(&self) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn color(&self) -> Color {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |   pub fn font(&self) -> &Option<Font> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |   pub fn font_scale(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |   pub fn font_scale_aspect(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |   pub fn font_size(&self) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub fn rotation(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |   pub fn x(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   pub fn y(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn set_text(&mut self, text: String) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn set_line_distance(&mut self, line_distance: Option<f32>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |   pub fn set_color(&mut self, color: Color) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |   pub fn set_font(&mut self, font: Option<Font>) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |   pub fn set_font_scale(&mut self, font_scale: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |   pub fn set_font_scale_aspect(&mut self, font_scale_aspect: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   pub fn set_font_size(&mut self, font_size: u16) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |   pub fn set_rotation(&mut self, rotation: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   pub fn set_x(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |   pub fn set_y(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LabelBuilder` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct LabelBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `line_distance`, `font`, `font_scale`, `font_scale_aspect`, `rotation`, and `build` are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl LabelBuilder {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 203 |   pub fn line_distance(mut self, line_distance: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |   pub fn font(mut self, font: Font) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |   pub fn font_scale(mut self, font_scale: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |   pub fn font_scale_aspect(mut self, font_scale_aspect: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |   pub fn rotation(mut self, rotation: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |   pub fn build(self, text: &str, color: Color, font_size: u16, x: f32, y: f32) -> Box<Label> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct Grid {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridBuilder` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct GridBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child` and `build` are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:335:10
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl GridBuilder {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 335 |   pub fn add_child(mut self, child: Box<dyn Widget>) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |   pub fn build(self, x_cell: f32, y_cell: f32) -> Box<Grid> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:358:10
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Grid {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 358 |   pub fn builder() -> GridBuilder {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |   pub fn x_cell(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |   pub fn y_cell(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |   pub fn cells(&self) -> &Vec<Box<dyn Widget>> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |   pub fn set_x_cell(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |   pub fn set_y_cell(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |   pub fn cells_mut(&mut self) -> &mut Vec<Box<dyn Widget>> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Button` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:384:12
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct Button {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:396:10
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl Button {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 396 |   pub fn builder() -> ButtonBuilder {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |   pub fn x(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 402 |   pub fn y(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 405 |   pub fn w(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 408 |   pub fn h(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 411 |   pub fn scale_x(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |   pub fn scale_y(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |   pub fn button(&self) -> MouseButton {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |   pub fn set_x(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |   pub fn set_y(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |   pub fn set_w(&mut self, w: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |   pub fn set_h(&mut self, h: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |   pub fn set_scale_x(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |   pub fn set_scale_y(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |   pub fn set_button(&mut self, b: MouseButton) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ButtonBuilder` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:470:12
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct ButtonBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scale_x`, `scale_y`, `scale`, `button`, `callback`, and `build` are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:484:10
[INFO] [stdout]     |
[INFO] [stdout] 483 | impl ButtonBuilder {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 484 |   pub fn scale_x(mut self, f: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |   pub fn scale_y(mut self, f: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |   pub fn scale(mut self, f: f32) -> Self {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |   pub fn button(mut self, btn: MouseButton) -> Self {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |   pub fn callback(mut self, callback: impl FnMut(&mut Button, &WidgetContext, f32) -> Result<(), Box<dyn Error>> + 'static) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |   pub fn build(self, x: f32, y: f32, w: f32, h: f32) -> Box<Button> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/hatch/transform.rs:3:7
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub struct Transform {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  3 |   pub x: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  4 |   pub y: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  5 |   pub w: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  6 |   pub h: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  7 |   pub scale_x: f32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]  8 |   pub scale_y: f32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]  9 |   pub cell_x: f32,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 10 |   pub cell_y: f32,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/hatch/transform.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Transform {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 14 |   pub fn new(x: f32, y: f32, w: f32, h: f32, sx: f32, sy: f32, cx: f32, cy: f32) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn grid(x: f32, y: f32) -> Self {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn position(x: f32, y: f32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub fn rect(x: f32, y: f32, w: f32, h: f32) -> Self {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn scaled(x: f32, y: f32, w: f32, h: f32, scale: f32) -> Self {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn scaled_rect(x: f32, y: f32, w: f32, h: f32, scale_x: f32, scale_y: f32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn transform_pos(&self, x: f32, y: f32) -> (f32, f32) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn transform_size(&self, other: &Self) -> (f32, f32) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_child` is never used
[INFO] [stdout]   --> src/hatch/core.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Hatch {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn add_child(&mut self, child: Box<dyn Widget>) -> &mut Self {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `font_from_path` is never used
[INFO] [stdout]   --> src/hatch/types.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn font_from_path(path: &str) -> Font {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transform` is never read
[INFO] [stdout]  --> src/hatch/widgets.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct WidgetContext {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 9 |   pub transform: Transform,
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_transform` is never used
[INFO] [stdout]   --> src/hatch/widgets.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl WidgetContext {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 20 |   pub fn with_transform(mut self, transform: Transform) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Group` is never constructed
[INFO] [stdout]   --> src/hatch/widgets.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Group {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `builder` is never used
[INFO] [stdout]   --> src/hatch/widgets.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Group {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 42 |   pub fn builder() -> GroupBuilder {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GroupBuilder` is never constructed
[INFO] [stdout]   --> src/hatch/widgets.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct GroupBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `child`, `place`, and `build` are never used
[INFO] [stdout]   --> src/hatch/widgets.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl GroupBuilder {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 55 |   pub fn child(&mut self, widget: Box<dyn Widget>) -> &mut Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   pub fn place(&mut self, x: f32, y: f32) -> &mut Self {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |   pub fn build(self) -> Box<Group> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Label` is never constructed
[INFO] [stdout]   --> src/hatch/widgets.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Label {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Label {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 106 |   pub fn builder() -> LabelBuilder {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |   pub fn measure(&self) -> (f32, f32) {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn text(&self) -> &String {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   pub fn line_distance(&self) -> Option<f32> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn color(&self) -> Color {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |   pub fn font(&self) -> &Option<Font> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |   pub fn font_scale(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |   pub fn font_scale_aspect(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |   pub fn font_size(&self) -> u16 {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |   pub fn rotation(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |   pub fn x(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   pub fn y(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 153 |   pub fn set_text(&mut self, text: String) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn set_line_distance(&mut self, line_distance: Option<f32>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |   pub fn set_color(&mut self, color: Color) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |   pub fn set_font(&mut self, font: Option<Font>) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |   pub fn set_font_scale(&mut self, font_scale: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |   pub fn set_font_scale_aspect(&mut self, font_scale_aspect: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   pub fn set_font_size(&mut self, font_size: u16) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |   pub fn set_rotation(&mut self, rotation: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |   pub fn set_x(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |   pub fn set_y(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LabelBuilder` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct LabelBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `line_distance`, `font`, `font_scale`, `font_scale_aspect`, `rotation`, and `build` are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl LabelBuilder {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 203 |   pub fn line_distance(mut self, line_distance: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |   pub fn font(mut self, font: Font) -> Self {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |   pub fn font_scale(mut self, font_scale: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |   pub fn font_scale_aspect(mut self, font_scale_aspect: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |   pub fn rotation(mut self, rotation: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |   pub fn build(self, text: &str, color: Color, font_size: u16, x: f32, y: f32) -> Box<Label> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Grid` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub struct Grid {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GridBuilder` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub struct GridBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_child` and `build` are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:335:10
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl GridBuilder {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 335 |   pub fn add_child(mut self, child: Box<dyn Widget>) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |   pub fn build(self, x_cell: f32, y_cell: f32) -> Box<Grid> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:358:10
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Grid {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 358 |   pub fn builder() -> GridBuilder {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |   pub fn x_cell(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |   pub fn y_cell(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |   pub fn cells(&self) -> &Vec<Box<dyn Widget>> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |   pub fn set_x_cell(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |   pub fn set_y_cell(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |   pub fn cells_mut(&mut self) -> &mut Vec<Box<dyn Widget>> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Button` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:384:12
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub struct Button {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:396:10
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl Button {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 396 |   pub fn builder() -> ButtonBuilder {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |   pub fn x(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 402 |   pub fn y(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 405 |   pub fn w(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 408 |   pub fn h(&self) -> f32 {
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 411 |   pub fn scale_x(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |   pub fn scale_y(&self) -> f32 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |   pub fn button(&self) -> MouseButton {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |   pub fn set_x(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |   pub fn set_y(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |   pub fn set_w(&mut self, w: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |   pub fn set_h(&mut self, h: f32) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |   pub fn set_scale_x(&mut self, x: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |   pub fn set_scale_y(&mut self, y: f32) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 439 |   pub fn set_button(&mut self, b: MouseButton) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ButtonBuilder` is never constructed
[INFO] [stdout]    --> src/hatch/widgets.rs:470:12
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct ButtonBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scale_x`, `scale_y`, `scale`, `button`, `callback`, and `build` are never used
[INFO] [stdout]    --> src/hatch/widgets.rs:484:10
[INFO] [stdout]     |
[INFO] [stdout] 483 | impl ButtonBuilder {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 484 |   pub fn scale_x(mut self, f: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |   pub fn scale_y(mut self, f: f32) -> Self {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |   pub fn scale(mut self, f: f32) -> Self {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |   pub fn button(mut self, btn: MouseButton) -> Self {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |   pub fn callback(mut self, callback: impl FnMut(&mut Button, &WidgetContext, f32) -> Result<(), Box<dyn Error>> + 'static) -> Self {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |   pub fn build(self, x: f32, y: f32, w: f32, h: f32) -> Box<Button> {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/hatch/transform.rs:3:7
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub struct Transform {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  3 |   pub x: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  4 |   pub y: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  5 |   pub w: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  6 |   pub h: f32,
[INFO] [stdout]    |       ^
[INFO] [stdout]  7 |   pub scale_x: f32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]  8 |   pub scale_y: f32,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]  9 |   pub cell_x: f32,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 10 |   pub cell_y: f32,
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/hatch/transform.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Transform {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 14 |   pub fn new(x: f32, y: f32, w: f32, h: f32, sx: f32, sy: f32, cx: f32, cy: f32) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn grid(x: f32, y: f32) -> Self {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   pub fn position(x: f32, y: f32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |   pub fn rect(x: f32, y: f32, w: f32, h: f32) -> Self {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |   pub fn scaled(x: f32, y: f32, w: f32, h: f32, scale: f32) -> Self {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |   pub fn scaled_rect(x: f32, y: f32, w: f32, h: f32, scale_x: f32, scale_y: f32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn transform_pos(&self, x: f32, y: f32) -> (f32, f32) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |   pub fn transform_size(&self, other: &Self) -> (f32, f32) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_child` is never used
[INFO] [stdout]   --> src/hatch/core.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Hatch {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn add_child(&mut self, child: Box<dyn Widget>) -> &mut Self {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.93s
[INFO] running `Command { std: "docker" "inspect" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a", kill_on_drop: false }`
[INFO] [stdout] d870364d1f8f467491d2f8135cb30d0a3d19c3122b7c99045166c123b05dd98a
