[INFO] fetching crate carbide_core 0.70.1...
[INFO] checking carbide_core-0.70.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate carbide_core 0.70.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate carbide_core 0.70.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate carbide_core 0.70.1
[INFO] finished tweaking crates.io crate carbide_core 0.70.1
[INFO] tweaked toml for crates.io crate carbide_core 0.70.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wgpu v0.6.2
[INFO] [stderr]   Downloaded gfx-memory v0.2.2
[INFO] [stderr]   Downloaded sha1 v0.6.1
[INFO] [stderr]   Downloaded float_next_after v0.1.5
[INFO] [stderr]   Downloaded piston-float v1.0.1
[INFO] [stderr]   Downloaded spirv_headers v1.5.0
[INFO] [stderr]   Downloaded wgpu-types v0.6.1
[INFO] [stderr]   Downloaded carbide_derive v0.70.1
[INFO] [stderr]   Downloaded lyon v0.17.10
[INFO] [stderr]   Downloaded sid v0.6.1
[INFO] [stderr]   Downloaded piston-viewport v1.0.2
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded thunderdome v0.3.0
[INFO] [stderr]   Downloaded gfx-auxil v0.7.0
[INFO] [stderr]   Downloaded smithay-clipboard v0.4.0
[INFO] [stderr]   Downloaded xdg v2.5.2
[INFO] [stderr]   Downloaded copypasta v0.6.3
[INFO] [stderr]   Downloaded lyon_algorithms v0.17.7
[INFO] [stderr]   Downloaded quick-xml v0.22.0
[INFO] [stderr]   Downloaded gfx-backend-metal v0.6.5
[INFO] [stderr]   Downloaded lyon_tessellation v0.17.10
[INFO] [stderr]   Downloaded spirv_cross v0.22.2
[INFO] [stderr]   Downloaded web-sys v0.3.48
[INFO] [stderr]   Downloaded xcb v0.10.1
[INFO] [stderr]   Downloaded gfx-backend-dx11 v0.6.17
[INFO] [stderr]   Downloaded gfx-backend-dx12 v0.6.13
[INFO] [stderr]   Downloaded wgpu-core v0.6.5
[INFO] [stderr]   Downloaded lyon_geom v0.17.7
[INFO] [stderr]   Downloaded lyon_path v0.17.7
[INFO] [stderr]   Downloaded ron v0.6.6
[INFO] [stderr]   Downloaded gfx-backend-vulkan v0.6.5
[INFO] [stderr]   Downloaded x11-clipboard v0.5.3
[INFO] [stderr]   Downloaded pistoncore-input v1.0.1
[INFO] [stderr]   Downloaded ordered-float v1.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5f77c23dd7046ebf46bc7571fe36f540191f64fd022ed875ba0ab1b7faa7f937
[INFO] running `Command { std: "docker" "start" "-a" "5f77c23dd7046ebf46bc7571fe36f540191f64fd022ed875ba0ab1b7faa7f937", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f77c23dd7046ebf46bc7571fe36f540191f64fd022ed875ba0ab1b7faa7f937", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f77c23dd7046ebf46bc7571fe36f540191f64fd022ed875ba0ab1b7faa7f937", kill_on_drop: false }`
[INFO] [stdout] 5f77c23dd7046ebf46bc7571fe36f540191f64fd022ed875ba0ab1b7faa7f937
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 94a5a3f1859f432cc86c4968d40d686a816dccc3bfb0e0beb9adc38a971d78ff
[INFO] running `Command { std: "docker" "start" "-a" "94a5a3f1859f432cc86c4968d40d686a816dccc3bfb0e0beb9adc38a971d78ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking gfx-hal v0.6.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking ash v0.31.0
[INFO] [stderr]     Checking spirv_headers v1.5.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking inplace_it v0.3.5
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking lyon_geom v0.17.7
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking sid v0.6.1
[INFO] [stderr]     Checking float_next_after v0.1.5
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking wgpu-types v0.6.1
[INFO] [stderr]     Checking copyless v0.1.5
[INFO] [stderr]     Checking piston-float v1.0.1
[INFO] [stderr]     Checking piston-viewport v1.0.2
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking dyn-clone v1.0.17
[INFO] [stderr]     Checking lyon_path v0.17.7
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking lyon_algorithms v0.17.7
[INFO] [stderr]     Checking lyon_tessellation v0.17.10
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking lyon v0.17.10
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking gfx-descriptor v0.2.0
[INFO] [stderr]     Checking gfx-memory v0.2.2
[INFO] [stderr]     Checking gfx-backend-empty v0.6.0
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]     Checking x11-clipboard v0.5.3
[INFO] [stderr]     Checking thiserror v1.0.58
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking naga v0.2.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling carbide_derive v0.70.1
[INFO] [stderr]     Checking gfx-backend-vulkan v0.6.5
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking wgpu-core v0.6.5
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ron v0.6.6
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking pistoncore-input v1.0.1
[INFO] [stderr]     Checking wgpu v0.6.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking smithay-clipboard v0.4.0
[INFO] [stderr]     Checking copypasta v0.6.3
[INFO] [stderr]     Checking carbide_core v0.70.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/image_map.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]   --> src/image_map.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | use fnv;
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | extern crate fnv;
[INFO] [stdout]    | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/text.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]    --> src/text.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     use fnv;
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | extern crate fnv;
[INFO] [stdout]     | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:901:9
[INFO] [stdout]     |
[INFO] [stdout] 901 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/ui.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/image_map.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]   --> src/image_map.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | use fnv;
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | extern crate fnv;
[INFO] [stdout]    | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/foreach.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 7 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/text.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `GlobalState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `GlobalState` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 4 | use crate::state::global_state::GlobalState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rectangle` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Rectangle` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 5 | use crate::widget::Rectangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]    --> src/text.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     use fnv;
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | extern crate fnv;
[INFO] [stdout]     | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/complex/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 2 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:901:9
[INFO] [stdout]     |
[INFO] [stdout] 901 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/ui.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/foreach.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 7 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `GlobalState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `GlobalState` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 4 | use crate::state::global_state::GlobalState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rectangle` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Rectangle` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 5 | use crate::widget::Rectangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/complex/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 2 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PositionStrategy` is never used
[INFO] [stdout]  --> src/render/positions_strategy.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | trait PositionStrategy {
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_redraw_frames`, `redraw_count`, and `maybe_background_color` are never read
[INFO] [stdout]   --> src/ui.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     num_redraw_frames: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Whether or not the `Ui` needs to be re-drawn to screen.
[INFO] [stdout] 61 |     redraw_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 62 |     /// A background color to clear the screen with before drawing if one was given.
[INFO] [stdout] 63 |     maybe_background_color: Option<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `triangle_store` is never read
[INFO] [stdout]   --> src/widget/primitive/canvas/canvas.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Canvas {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     triangle_store: TriangleStore,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Canvas` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/state/mapped_state.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MappedState<T, U, GS> where T: Serialize + Clone + Debug, U: Serialize + Clone + Debug, GS: GlobalState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     id: Option<Uuid>,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/render/walk_owned_primitives.rs:83:39
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         text: text_str.clone().parse().unwrap(),
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PositionStrategy` is never used
[INFO] [stdout]  --> src/render/positions_strategy.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | trait PositionStrategy {
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_redraw_frames`, `redraw_count`, and `maybe_background_color` are never read
[INFO] [stdout]   --> src/ui.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     num_redraw_frames: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Whether or not the `Ui` needs to be re-drawn to screen.
[INFO] [stdout] 61 |     redraw_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 62 |     /// A background color to clear the screen with before drawing if one was given.
[INFO] [stdout] 63 |     maybe_background_color: Option<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `triangle_store` is never read
[INFO] [stdout]   --> src/widget/primitive/canvas/canvas.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Canvas {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     triangle_store: TriangleStore,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Canvas` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/state/mapped_state.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MappedState<T, U, GS> where T: Serialize + Clone + Debug, U: Serialize + Clone + Debug, GS: GlobalState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     id: Option<Uuid>,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/render/walk_owned_primitives.rs:83:39
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         text: text_str.clone().parse().unwrap(),
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Mouse` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use input::Button::{Keyboard, Mouse};
[INFO] [stdout]   |                               ----- previous import of the type `Mouse` here
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^ `Mouse` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Mouse` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use carbide_core::{Rect, widget};
[INFO] [stdout]   |                          ^^^^^^ `widget` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Color` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 2  |     Color,
[INFO] [stdout]    |     ----- previous import of the type `Color` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                       ^^^^^--
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Color` reimported here
[INFO] [stdout]    |                                       help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Labelable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:64
[INFO] [stdout]    |
[INFO] [stdout] 3  |     Labelable,
[INFO] [stdout]    |     --------- previous import of the trait `Labelable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                ^^^^^^^^^--
[INFO] [stdout]    |                                                                |
[INFO] [stdout]    |                                                                `Labelable` reimported here
[INFO] [stdout]    |                                                                help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Labelable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Colorable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 5  |     Colorable,
[INFO] [stdout]    |     --------- previous import of the trait `Colorable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                            ^^^^^^^^^--
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Colorable` reimported here
[INFO] [stdout]    |                            help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colorable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Mouse` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use input::Button::{Keyboard, Mouse};
[INFO] [stdout]   |                               ----- previous import of the type `Mouse` here
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^ `Mouse` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Mouse` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 7  |     Widget,
[INFO] [stdout]    |     ------ previous import of the macro `Widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                              ^^^^^^--
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Widget` reimported here
[INFO] [stdout]    |                                              help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Widget` must be defined only once in the macro namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Ui` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:89
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Ui,
[INFO] [stdout]    |     -- previous import of the type `Ui` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                         ^^--
[INFO] [stdout]    |                                                                                         |
[INFO] [stdout]    |                                                                                         `Ui` reimported here
[INFO] [stdout]    |                                                                                         help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UiBuilder` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:100
[INFO] [stdout]    |
[INFO] [stdout] 9  |     UiBuilder
[INFO] [stdout]    |     --------- previous import of the type `UiBuilder` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                                    ^^^^^^^^^ `UiBuilder` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiBuilder` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | use carbide_core::event::event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                    ^^^^^^--
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `widget` reimported here
[INFO] [stdout]    |                    help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `color`
[INFO] [stdout]  --> tests/color.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::{rgb_to_hsl, hsl_to_rgb};
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `carbide_core::color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Motion` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                        ------ previous import of the type `Motion` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^ `Motion` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Motion` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion as OtherMotion, Button, Key};
[INFO] [stdout]   |                           ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Key` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                   --- previous import of the type `Key` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                                           ^^^ `Key` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Key` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Motion` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                        ------ previous import of the type `Motion` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^ `Motion` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Motion` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion as OtherMotion, Button, Key};
[INFO] [stdout]   |                           ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Key` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                   --- previous import of the type `Key` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                                           ^^^ `Key` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Key` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use carbide_core::{Rect, widget};
[INFO] [stdout]   |                          ^^^^^^ `widget` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Color` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 2  |     Color,
[INFO] [stdout]    |     ----- previous import of the type `Color` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                       ^^^^^--
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Color` reimported here
[INFO] [stdout]    |                                       help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Labelable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:64
[INFO] [stdout]    |
[INFO] [stdout] 3  |     Labelable,
[INFO] [stdout]    |     --------- previous import of the trait `Labelable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                ^^^^^^^^^--
[INFO] [stdout]    |                                                                |
[INFO] [stdout]    |                                                                `Labelable` reimported here
[INFO] [stdout]    |                                                                help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Labelable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Colorable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 5  |     Colorable,
[INFO] [stdout]    |     --------- previous import of the trait `Colorable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                            ^^^^^^^^^--
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Colorable` reimported here
[INFO] [stdout]    |                            help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colorable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 7  |     Widget,
[INFO] [stdout]    |     ------ previous import of the macro `Widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                              ^^^^^^--
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Widget` reimported here
[INFO] [stdout]    |                                              help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Widget` must be defined only once in the macro namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Ui` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:89
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Ui,
[INFO] [stdout]    |     -- previous import of the type `Ui` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                         ^^--
[INFO] [stdout]    |                                                                                         |
[INFO] [stdout]    |                                                                                         `Ui` reimported here
[INFO] [stdout]    |                                                                                         help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UiBuilder` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:100
[INFO] [stdout]    |
[INFO] [stdout] 9  |     UiBuilder
[INFO] [stdout]    |     --------- previous import of the type `UiBuilder` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                                    ^^^^^^^^^ `UiBuilder` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiBuilder` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | use carbide_core::event::event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                    ^^^^^^--
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `widget` reimported here
[INFO] [stdout]    |                    help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/widget_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::input::Event::Input
[INFO] [stdout]           crate::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/widget_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Rect;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/global_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::input::Event::Input
[INFO] [stdout]           crate::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/global_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Scalar;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `carbide_core::Sizeable`, `carbide_core::Positionable`
[INFO] [stdout]   --> tests/ui.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                      ^^^^^^^^             ^^^^^^^^^^^^ no `Positionable` in the root
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      no `Sizeable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/global_input.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 13 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 13 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let mut input = input::Global::new();
[INFO] [stdout] 24 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     let mut input = input::Global::new();
[INFO] [stdout] 35 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let mut input = input::Global::new();
[INFO] [stdout] 45 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/global_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::global_input::input::Event::Input
[INFO] [stdout]           crate::global_input::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 59 -     let mut input = input::Global::new();
[INFO] [stdout] 59 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/global_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/global_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^ the item `input` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::Button::Mouse`
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `Motion`
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `carbide_core::Sizeable`, `carbide_core::Positionable`
[INFO] [stdout]   --> tests/ui.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                      ^^^^^^^^             ^^^^^^^^^^^^ no `Positionable` in the root
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      no `Sizeable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "color") due to 2 previous errors
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/widget_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::widget_input::input::Event::Input
[INFO] [stdout]           crate::widget_input::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]   --> tests/ui.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            carbide_core::event::input::Input
[INFO] [stdout]            crate::ui::input::Event::Input
[INFO] [stdout]            crate::ui::input::Input
[INFO] [stdout]            input::Event::Input
[INFO] [stdout]            input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `color`
[INFO] [stdout]  --> tests/color.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::{rgb_to_hsl, hsl_to_rgb};
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `crate::color`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/global_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Scalar;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/widget_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Rect;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]   --> tests/ui.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use position::Point;
[INFO] [stdout]    |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]   --> tests/ui.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            carbide_core::event::input::Input
[INFO] [stdout]            crate::input::Event::Input
[INFO] [stdout]            crate::input::Input
[INFO] [stdout]            input::Event::Input
[INFO] [stdout]            input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]   --> tests/ui.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use position::Point;
[INFO] [stdout]    |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/widget_input.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 11 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 11 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 19 -     let mut global_input = input::Global::new();
[INFO] [stdout] 19 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Source` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let source = input::Source::Mouse;
[INFO] [stdout]    |                         ^^^^^^ could not find `Source` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Source;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use core::error::Source;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Source`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 20 -     let source = input::Source::Mouse;
[INFO] [stdout] 20 +     let source = Source::Mouse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 21 -     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout] 21 +     push_event(&mut global_input, Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> dyn event::Event {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                                     ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event<S> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `carbide_core` in the crate root
[INFO] [stdout]   --> tests/widget_input.rs:22:74
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^ could not find `carbide_core` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Motion`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 22 -     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout] 22 +     push_event(&mut global_input, event::Event::Raw(Input::Motion(Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 25 -     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout] 25 +     let widget_input = Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let mut global_input = input::Global::new();
[INFO] [stdout] 32 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Click` in module `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:73
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                                                         ^^^^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::KeyboardEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::MouseEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Click`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, event::Ui::Click(Some(widget), Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 43 -     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout] 43 +     let widget_input = Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |                                       ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 49 -     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout] 49 +     let another_widget_input = Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/widget_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Motion`
[INFO] [stdout]  --> tests/widget_input.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/widget_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^ the item `input` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]  --> tests/widget_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/widget_input.rs:11:56
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     <dyn event::Event>::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `carbide_core` in the crate root
[INFO] [stdout]   --> tests/ui.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     ui.handle_event(Input::Motion(crate::carbide_core::input::Motion::MouseCursor { x, y }));
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ could not find `carbide_core` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Motion`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 48 -     ui.handle_event(Input::Motion(crate::carbide_core::input::Motion::MouseCursor { x, y }));
[INFO] [stdout] 48 +     ui.handle_event(Input::Motion(Motion::MouseCursor { x, y }));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Button` in `widget`
[INFO] [stdout]    --> tests/ui.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         widget::Button::new()
[INFO] [stdout]     |                 ^^^^^^ could not find `Button` in `widget`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use input::Button;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Button`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 100 -         widget::Button::new()
[INFO] [stdout] 100 +         Button::new()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Scroll` in module `event`
[INFO] [stdout]    --> tests/ui.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let expected_scroll = event::Scroll{
[INFO] [stdout]     |                                  ^^^^^^ not found in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::event_handler::MouseEvent::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Motion::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Scroll`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 127 -     let expected_scroll = event::Scroll{
[INFO] [stdout] 127 +     let expected_scroll = Scroll{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]    --> tests/ui.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                                    ^^ could not find `Ui` in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::Ui;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 133 -     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout] 133 +     if let event::Event::Ui(Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorable`, `Labelable`, `UiBuilder`, `Ui`, `Widget`
[INFO] [stdout]  --> tests/ui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Color,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Labelable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     Positionable,
[INFO] [stdout] 5 |     Colorable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     Sizeable,
[INFO] [stdout] 7 |     Widget,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Ui,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 9 |     UiBuilder
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> tests/ui.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]   --> tests/ui.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use input::{self, Button, Key, Motion, MouseButton};
[INFO] [stdout]    |             ^^^^ the item `input` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]   --> tests/ui.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui) {
[INFO] [stdout]    |                              ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui<S>) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                     ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui) {
[INFO] [stdout]    |                                                         ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui) {
[INFO] [stdout]    |                                                           ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui, event: Input) {
[INFO] [stdout]    |                                             ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui<S>, event: Input) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                 ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui<S>, event: event::Event) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: dyn event::Event) {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/ui.rs:56:51
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                                   ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event<S>) {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:64:42
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui) -> Point {
[INFO] [stdout]    |                                          ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui<S>) -> Point {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui {
[INFO] [stdout]    |                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui<S> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                   ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `x`
[INFO] [stdout]   --> tests/global_input.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                             ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `y`
[INFO] [stdout]   --> tests/global_input.rs:18:67
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                                   ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/global_input.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 13 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 13 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let mut input = input::Global::new();
[INFO] [stdout] 24 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     let mut input = input::Global::new();
[INFO] [stdout] 35 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let mut input = input::Global::new();
[INFO] [stdout] 45 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 59 -     let mut input = input::Global::new();
[INFO] [stdout] 59 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/widget_input.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 11 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 11 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 19 -     let mut global_input = input::Global::new();
[INFO] [stdout] 19 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Source` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let source = input::Source::Mouse;
[INFO] [stdout]    |                         ^^^^^^ could not find `Source` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Source;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use core::error::Source;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Source`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 20 -     let source = input::Source::Mouse;
[INFO] [stdout] 20 +     let source = Source::Mouse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 21 -     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout] 21 +     push_event(&mut global_input, Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget_input::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 25 -     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout] 25 +     let widget_input = Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let mut global_input = input::Global::new();
[INFO] [stdout] 32 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Click` in module `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:73
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                                                         ^^^^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::KeyboardEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::MouseEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Click`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, event::Ui::Click(Some(widget), Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget_input::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 43 -     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout] 43 +     let widget_input = Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |                                       ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget_input::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 49 -     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout] 49 +     let another_widget_input = Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Button` in `widget`
[INFO] [stdout]    --> tests/ui.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         widget::Button::new()
[INFO] [stdout]     |                 ^^^^^^ could not find `Button` in `widget`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::ui::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use input::Button;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Button`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 100 -         widget::Button::new()
[INFO] [stdout] 100 +         Button::new()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Scroll` in module `event`
[INFO] [stdout]    --> tests/ui.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let expected_scroll = event::Scroll{
[INFO] [stdout]     |                                  ^^^^^^ not found in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::event_handler::MouseEvent::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Motion::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::ui::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Scroll`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 127 -     let expected_scroll = event::Scroll{
[INFO] [stdout] 127 +     let expected_scroll = Scroll{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]    --> tests/ui.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                                    ^^ could not find `Ui` in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::Ui;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 133 -     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout] 133 +     if let event::Event::Ui(Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/global_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/global_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: tests/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate input;
[INFO] [stdout]   | ------------------- the item `input` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::Button::Mouse`
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `Motion`
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/widget_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Motion`
[INFO] [stdout]  --> tests/widget_input.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/widget_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: tests/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate input;
[INFO] [stdout]   | ------------------- the item `input` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]  --> tests/widget_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorable`, `Labelable`, `UiBuilder`, `Ui`, `Widget`
[INFO] [stdout]  --> tests/ui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Color,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Labelable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     Positionable,
[INFO] [stdout] 5 |     Colorable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     Sizeable,
[INFO] [stdout] 7 |     Widget,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Ui,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 9 |     UiBuilder
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> tests/ui.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]   --> tests/ui.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use input::{self, Button, Key, Motion, MouseButton};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/mod.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | extern crate input;
[INFO] [stdout]    | ------------------- the item `input` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]   --> tests/ui.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:21:84
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]     |                                                                                    ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::ne(999), source).into());
[INFO] [stdout]     |                                                                                    ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> dyn event::Event {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                                     ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event<S> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/widget_input.rs:11:56
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui) {
[INFO] [stdout]    |                              ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui<S>) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                     ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui) {
[INFO] [stdout]    |                                                         ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui) {
[INFO] [stdout]    |                                                           ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui, event: Input) {
[INFO] [stdout]    |                                             ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui<S>, event: Input) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                 ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui<S>, event: event::Event) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: dyn event::Event) {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/ui.rs:56:51
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                                   ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event<S>) {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:64:42
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui) -> Point {
[INFO] [stdout]    |                                          ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui<S>) -> Point {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui {
[INFO] [stdout]    |                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui<S> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/global_input.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                       ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `carbide_core::event::Motion`, found `input::Motion`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: `input::Motion` and `carbide_core::event::Motion` have similar names, but are actually distinct types
[INFO] [stdout] note: `input::Motion` is defined in crate `input`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `carbide_core::event::Motion` is defined in crate `carbide_core`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/mod.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/input.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Motion(Motion),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     <dyn event::Event>::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:25:62
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::ne(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:26:68
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:33:30
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::new(4);
[INFO] [stdout]     |                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::ne(4);
[INFO] [stdout]     |                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:37:68
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::new(7);
[INFO] [stdout]     |                                      ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::ne(7);
[INFO] [stdout]     |                                      ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                   ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `x`
[INFO] [stdout]   --> tests/global_input.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                             ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `y`
[INFO] [stdout]   --> tests/global_input.rs:18:67
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                                   ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 22 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:47:68
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "widget_input") due to 23 previous errors; 7 warnings emitted
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/global_input.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                       ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `carbide_core::event::Motion`, found `input::Motion`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: `input::Motion` and `carbide_core::event::Motion` have similar names, but are actually distinct types
[INFO] [stdout] note: `input::Motion` is defined in crate `input`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `carbide_core::event::Motion` is defined in crate `carbide_core`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/mod.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/input.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Motion(Motion),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 30 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0308, E0412, E0432, E0433, E0559, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:26:68
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "global_input") due to 31 previous errors; 17 warnings emitted
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:37:68
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, <dyn event::Event>::Raw(event));
[INFO] [stdout]    |                                 ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:47:68
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/ui.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                               ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:21:84
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]     |                                                                                    ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::ne(999), source).into());
[INFO] [stdout]     |                                                                                    ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Canvas` in the current scope
[INFO] [stdout]   --> tests/ui.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |         widget::Canvas::new()
[INFO] [stdout]    |                         ^^^ function or associated item not found in `Canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]    --> tests/ui.rs:125:43
[INFO] [stdout]     |
[INFO] [stdout] 125 |     ui.handle_event(Input::Motion(Motion::Scroll { x: 10.0, y: 33.0 }));
[INFO] [stdout]     |                                           ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> tests/ui.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let <dyn event::Event>::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Ui` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]    --> tests/ui.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                          ^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:25:62
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::ne(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0422, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:33:30
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::new(4);
[INFO] [stdout]     |                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::ne(4);
[INFO] [stdout]     |                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::new(7);
[INFO] [stdout]     |                                      ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::ne(7);
[INFO] [stdout]     |                                      ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "ui") due to 30 previous errors; 7 warnings emitted
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, <dyn event::Event>::Raw(event));
[INFO] [stdout]    |                                 ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/ui.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                               ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Canvas` in the current scope
[INFO] [stdout]   --> tests/ui.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |         widget::Canvas::new()
[INFO] [stdout]    |                         ^^^ function or associated item not found in `Canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]    --> tests/ui.rs:125:43
[INFO] [stdout]     |
[INFO] [stdout] 125 |     ui.handle_event(Input::Motion(Motion::Scroll { x: 10.0, y: 33.0 }));
[INFO] [stdout]     |                                           ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> tests/ui.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let <dyn event::Event>::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Ui` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]    --> tests/ui.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                          ^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 80 previous errors; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0308, E0412, E0422, E0432, E0433, E0559, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "mod") due to 81 previous errors; 31 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "94a5a3f1859f432cc86c4968d40d686a816dccc3bfb0e0beb9adc38a971d78ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94a5a3f1859f432cc86c4968d40d686a816dccc3bfb0e0beb9adc38a971d78ff", kill_on_drop: false }`
[INFO] [stdout] 94a5a3f1859f432cc86c4968d40d686a816dccc3bfb0e0beb9adc38a971d78ff
[INFO] checking carbide_core-0.70.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate carbide_core 0.70.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate carbide_core 0.70.1 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate carbide_core 0.70.1
[INFO] finished tweaking crates.io crate carbide_core 0.70.1
[INFO] tweaked toml for crates.io crate carbide_core 0.70.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 823ae9200fb7b71cfc37c0645c531140dc314164a8d18562030020d699c949a4
[INFO] running `Command { std: "docker" "start" "-a" "823ae9200fb7b71cfc37c0645c531140dc314164a8d18562030020d699c949a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "823ae9200fb7b71cfc37c0645c531140dc314164a8d18562030020d699c949a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "823ae9200fb7b71cfc37c0645c531140dc314164a8d18562030020d699c949a4", kill_on_drop: false }`
[INFO] [stdout] 823ae9200fb7b71cfc37c0645c531140dc314164a8d18562030020d699c949a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 828e54f3bb82cf6cae616715aeb9439adc8f22bc8f5217cdcbc46ddf9df4d7a7
[INFO] running `Command { std: "docker" "start" "-a" "828e54f3bb82cf6cae616715aeb9439adc8f22bc8f5217cdcbc46ddf9df4d7a7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling syn v2.0.57
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking gfx-hal v0.6.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking ash v0.31.0
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking spirv_headers v1.5.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking inplace_it v0.3.5
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking lyon_geom v0.17.7
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking sid v0.6.1
[INFO] [stderr]     Checking float_next_after v0.1.5
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking wgpu-types v0.6.1
[INFO] [stderr]     Checking piston-float v1.0.1
[INFO] [stderr]     Checking copyless v0.1.5
[INFO] [stderr]     Checking piston-viewport v1.0.2
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking dyn-clone v1.0.17
[INFO] [stderr]     Checking lyon_path v0.17.7
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking lyon_algorithms v0.17.7
[INFO] [stderr]     Checking lyon_tessellation v0.17.10
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking gfx-memory v0.2.2
[INFO] [stderr]     Checking gfx-backend-empty v0.6.0
[INFO] [stderr]     Checking gfx-descriptor v0.2.0
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking lyon v0.17.10
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]     Checking x11-clipboard v0.5.3
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking thiserror v1.0.58
[INFO] [stderr]     Checking naga v0.2.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling carbide_derive v0.70.1
[INFO] [stderr]     Checking gfx-backend-vulkan v0.6.5
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking wgpu-core v0.6.5
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking pistoncore-input v1.0.1
[INFO] [stderr]     Checking ron v0.6.6
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking wgpu v0.6.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking smithay-clipboard v0.4.0
[INFO] [stderr]     Checking copypasta v0.6.3
[INFO] [stderr]     Checking carbide_core v0.70.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/image_map.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]   --> src/image_map.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | use fnv;
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | extern crate fnv;
[INFO] [stdout]    | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/text.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]    --> src/text.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     use fnv;
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | extern crate fnv;
[INFO] [stdout]     | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:901:9
[INFO] [stdout]     |
[INFO] [stdout] 901 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/ui.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/foreach.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 7 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `GlobalState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `GlobalState` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 4 | use crate::state::global_state::GlobalState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rectangle` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Rectangle` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 5 | use crate::widget::Rectangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/complex/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 2 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/image_map.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]   --> src/image_map.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | use fnv;
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | extern crate fnv;
[INFO] [stdout]    | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/text.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fnv` is imported redundantly
[INFO] [stdout]    --> src/text.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     use fnv;
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout] 21  | extern crate fnv;
[INFO] [stdout]     | ----------------- the item `fnv` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:279:9
[INFO] [stdout]     |
[INFO] [stdout] 279 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]    --> src/text.rs:901:9
[INFO] [stdout]     |
[INFO] [stdout] 901 |     use std;
[INFO] [stdout]     |         ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/ui.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/foreach.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 7 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `GlobalState` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `GlobalState` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 4 | use crate::state::global_state::GlobalState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rectangle` is imported redundantly
[INFO] [stdout]  --> src/widget/primitive/canvas/canvas.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `Rectangle` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 5 | use crate::widget::Rectangle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `CommonState` is imported redundantly
[INFO] [stdout]  --> src/widget/complex/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::prelude::*;
[INFO] [stdout]   |     ----------------- the item `CommonState` is already imported here
[INFO] [stdout] 2 | use crate::state::state::CommonState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PositionStrategy` is never used
[INFO] [stdout]  --> src/render/positions_strategy.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | trait PositionStrategy {
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_redraw_frames`, `redraw_count`, and `maybe_background_color` are never read
[INFO] [stdout]   --> src/ui.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     num_redraw_frames: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Whether or not the `Ui` needs to be re-drawn to screen.
[INFO] [stdout] 61 |     redraw_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 62 |     /// A background color to clear the screen with before drawing if one was given.
[INFO] [stdout] 63 |     maybe_background_color: Option<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `triangle_store` is never read
[INFO] [stdout]   --> src/widget/primitive/canvas/canvas.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Canvas {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     triangle_store: TriangleStore,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Canvas` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/state/mapped_state.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MappedState<T, U, GS> where T: Serialize + Clone + Debug, U: Serialize + Clone + Debug, GS: GlobalState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     id: Option<Uuid>,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/render/walk_owned_primitives.rs:83:39
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         text: text_str.clone().parse().unwrap(),
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PositionStrategy` is never used
[INFO] [stdout]  --> src/render/positions_strategy.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | trait PositionStrategy {
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_redraw_frames`, `redraw_count`, and `maybe_background_color` are never read
[INFO] [stdout]   --> src/ui.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     num_redraw_frames: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     /// Whether or not the `Ui` needs to be re-drawn to screen.
[INFO] [stdout] 61 |     redraw_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 62 |     /// A background color to clear the screen with before drawing if one was given.
[INFO] [stdout] 63 |     maybe_background_color: Option<Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `triangle_store` is never read
[INFO] [stdout]   --> src/widget/primitive/canvas/canvas.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Canvas {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     triangle_store: TriangleStore,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Canvas` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/state/mapped_state.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MappedState<T, U, GS> where T: Serialize + Clone + Debug, U: Serialize + Clone + Debug, GS: GlobalState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 11 |     id: Option<Uuid>,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/render/walk_owned_primitives.rs:83:39
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         text: text_str.clone().parse().unwrap(),
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Mouse` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use input::Button::{Keyboard, Mouse};
[INFO] [stdout]   |                               ----- previous import of the type `Mouse` here
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^ `Mouse` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Mouse` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Mouse` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use input::Button::{Keyboard, Mouse};
[INFO] [stdout]   |                               ----- previous import of the type `Mouse` here
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^ `Mouse` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Mouse` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Motion` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                        ------ previous import of the type `Motion` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^ `Motion` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Motion` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion as OtherMotion, Button, Key};
[INFO] [stdout]   |                           ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Key` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                   --- previous import of the type `Key` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                                           ^^^ `Key` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Key` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use carbide_core::{Rect, widget};
[INFO] [stdout]   |                          ^^^^^^ `widget` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Color` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 2  |     Color,
[INFO] [stdout]    |     ----- previous import of the type `Color` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                       ^^^^^--
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Color` reimported here
[INFO] [stdout]    |                                       help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Labelable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:64
[INFO] [stdout]    |
[INFO] [stdout] 3  |     Labelable,
[INFO] [stdout]    |     --------- previous import of the trait `Labelable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                ^^^^^^^^^--
[INFO] [stdout]    |                                                                |
[INFO] [stdout]    |                                                                `Labelable` reimported here
[INFO] [stdout]    |                                                                help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Labelable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Colorable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 5  |     Colorable,
[INFO] [stdout]    |     --------- previous import of the trait `Colorable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                            ^^^^^^^^^--
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Colorable` reimported here
[INFO] [stdout]    |                            help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colorable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 7  |     Widget,
[INFO] [stdout]    |     ------ previous import of the macro `Widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                              ^^^^^^--
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Widget` reimported here
[INFO] [stdout]    |                                              help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Widget` must be defined only once in the macro namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Ui` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:89
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Ui,
[INFO] [stdout]    |     -- previous import of the type `Ui` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                         ^^--
[INFO] [stdout]    |                                                                                         |
[INFO] [stdout]    |                                                                                         `Ui` reimported here
[INFO] [stdout]    |                                                                                         help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UiBuilder` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:100
[INFO] [stdout]    |
[INFO] [stdout] 9  |     UiBuilder
[INFO] [stdout]    |     --------- previous import of the type `UiBuilder` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                                    ^^^^^^^^^ `UiBuilder` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiBuilder` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | use carbide_core::event::event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                    ^^^^^^--
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `widget` reimported here
[INFO] [stdout]    |                    help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Color` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:39
[INFO] [stdout]    |
[INFO] [stdout] 2  |     Color,
[INFO] [stdout]    |     ----- previous import of the type `Color` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                       ^^^^^--
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       `Color` reimported here
[INFO] [stdout]    |                                       help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Color` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Labelable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:64
[INFO] [stdout]    |
[INFO] [stdout] 3  |     Labelable,
[INFO] [stdout]    |     --------- previous import of the trait `Labelable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                ^^^^^^^^^--
[INFO] [stdout]    |                                                                |
[INFO] [stdout]    |                                                                `Labelable` reimported here
[INFO] [stdout]    |                                                                help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Labelable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Colorable` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:28
[INFO] [stdout]    |
[INFO] [stdout] 5  |     Colorable,
[INFO] [stdout]    |     --------- previous import of the trait `Colorable` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                            ^^^^^^^^^--
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `Colorable` reimported here
[INFO] [stdout]    |                            help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colorable` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 7  |     Widget,
[INFO] [stdout]    |     ------ previous import of the macro `Widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                              ^^^^^^--
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Widget` reimported here
[INFO] [stdout]    |                                              help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Widget` must be defined only once in the macro namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Ui` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:89
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Ui,
[INFO] [stdout]    |     -- previous import of the type `Ui` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                         ^^--
[INFO] [stdout]    |                                                                                         |
[INFO] [stdout]    |                                                                                         `Ui` reimported here
[INFO] [stdout]    |                                                                                         help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ui` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UiBuilder` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:100
[INFO] [stdout]    |
[INFO] [stdout] 9  |     UiBuilder
[INFO] [stdout]    |     --------- previous import of the type `UiBuilder` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                                                                    ^^^^^^^^^ `UiBuilder` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UiBuilder` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 18 | use carbide_core::event::event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]   --> tests/ui.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                    ^^^^^^--
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    `widget` reimported here
[INFO] [stdout]    |                    help: remove unnecessary import
[INFO] [stdout]    |
[INFO] [stdout]    = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Motion` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                        ------ previous import of the type `Motion` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^ `Motion` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Motion` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion as OtherMotion, Button, Key};
[INFO] [stdout]   |                           ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Key` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:9:43
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |                   --- previous import of the type `Key` here
[INFO] [stdout] ...
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                                           ^^^ `Key` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Key` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/global_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `color`
[INFO] [stdout]  --> tests/color.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::{rgb_to_hsl, hsl_to_rgb};
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `carbide_core::color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `event` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ---- previous import of the module `event` here
[INFO] [stdout] ...
[INFO] [stdout] 6 | use carbide_core::event::event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ `event` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `event` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `widget` is defined multiple times
[INFO] [stdout]  --> tests/widget_input.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ------ previous import of the module `widget` here
[INFO] [stdout] ...
[INFO] [stdout] 7 | use carbide_core::{Rect, widget};
[INFO] [stdout]   |                          ^^^^^^ `widget` reimported here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `widget` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/global_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::input::Event::Input
[INFO] [stdout]           crate::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/global_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Scalar;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `carbide_core::Sizeable`, `carbide_core::Positionable`
[INFO] [stdout]   --> tests/ui.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                      ^^^^^^^^             ^^^^^^^^^^^^ no `Positionable` in the root
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      no `Sizeable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]   --> tests/ui.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            carbide_core::event::input::Input
[INFO] [stdout]            crate::input::Event::Input
[INFO] [stdout]            crate::input::Input
[INFO] [stdout]            input::Event::Input
[INFO] [stdout]            input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]   --> tests/ui.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use position::Point;
[INFO] [stdout]    |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "color") due to 2 previous errors
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/global_input.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 13 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 13 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let mut input = input::Global::new();
[INFO] [stdout] 24 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     let mut input = input::Global::new();
[INFO] [stdout] 35 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let mut input = input::Global::new();
[INFO] [stdout] 45 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 59 -     let mut input = input::Global::new();
[INFO] [stdout] 59 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/global_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `carbide_core::Sizeable`, `carbide_core::Positionable`
[INFO] [stdout]   --> tests/ui.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 | use carbide_core::{widget, Colorable, Color, Widget, Sizeable, Labelable, Positionable, Ui, Point, UiBuilder};
[INFO] [stdout]    |                                                      ^^^^^^^^             ^^^^^^^^^^^^ no `Positionable` in the root
[INFO] [stdout]    |                                                      |
[INFO] [stdout]    |                                                      no `Sizeable` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/global_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^ the item `input` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::Button::Mouse`
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `Motion`
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/global_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::global_input::input::Event::Input
[INFO] [stdout]           crate::global_input::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `carbide_core` in the crate root
[INFO] [stdout]   --> tests/ui.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     ui.handle_event(Input::Motion(crate::carbide_core::input::Motion::MouseCursor { x, y }));
[INFO] [stdout]    |                                          ^^^^^^^^^^^^ could not find `carbide_core` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Motion`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 48 -     ui.handle_event(Input::Motion(crate::carbide_core::input::Motion::MouseCursor { x, y }));
[INFO] [stdout] 48 +     ui.handle_event(Input::Motion(Motion::MouseCursor { x, y }));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Button` in `widget`
[INFO] [stdout]    --> tests/ui.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         widget::Button::new()
[INFO] [stdout]     |                 ^^^^^^ could not find `Button` in `widget`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use input::Button;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Button`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 100 -         widget::Button::new()
[INFO] [stdout] 100 +         Button::new()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Scroll` in module `event`
[INFO] [stdout]    --> tests/ui.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let expected_scroll = event::Scroll{
[INFO] [stdout]     |                                  ^^^^^^ not found in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::event_handler::MouseEvent::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Motion::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Scroll`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 127 -     let expected_scroll = event::Scroll{
[INFO] [stdout] 127 +     let expected_scroll = Scroll{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/widget_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::widget_input::input::Event::Input
[INFO] [stdout]           crate::widget_input::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]   --> tests/ui.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            carbide_core::event::input::Input
[INFO] [stdout]            crate::ui::input::Event::Input
[INFO] [stdout]            crate::ui::input::Input
[INFO] [stdout]            input::Event::Input
[INFO] [stdout]            input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]    --> tests/ui.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                                    ^^ could not find `Ui` in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::Ui;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 133 -     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout] 133 +     if let event::Event::Ui(Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `color`
[INFO] [stdout]  --> tests/color.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use color::{rgb_to_hsl, hsl_to_rgb};
[INFO] [stdout]   |     ^^^^^ help: a similar path exists: `crate::color`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/global_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Scalar;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/widget_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Rect;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]   --> tests/ui.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use position::Point;
[INFO] [stdout]    |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorable`, `Labelable`, `UiBuilder`, `Ui`, `Widget`
[INFO] [stdout]  --> tests/ui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Color,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Labelable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     Positionable,
[INFO] [stdout] 5 |     Colorable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     Sizeable,
[INFO] [stdout] 7 |     Widget,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Ui,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 9 |     UiBuilder
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> tests/ui.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]   --> tests/ui.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use input::{self, Button, Key, Motion, MouseButton};
[INFO] [stdout]    |             ^^^^ the item `input` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]   --> tests/ui.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui) {
[INFO] [stdout]    |                              ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui<S>) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                     ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui) {
[INFO] [stdout]    |                                                         ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui) {
[INFO] [stdout]    |                                                           ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui, event: Input) {
[INFO] [stdout]    |                                             ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui<S>, event: Input) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                 ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui<S>, event: event::Event) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: dyn event::Event) {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> dyn event::Event {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                                     ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event<S> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/ui.rs:56:51
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                                   ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event<S>) {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:64:42
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui) -> Point {
[INFO] [stdout]    |                                          ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui<S>) -> Point {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `event::Input`
[INFO] [stdout]  --> tests/widget_input.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |                   ^^^^^ no `Input` in `event::event`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           carbide_core::event::input::Input
[INFO] [stdout]           crate::input::Event::Input
[INFO] [stdout]           crate::input::Input
[INFO] [stdout]           input::Event::Input
[INFO] [stdout]           input::Input
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `position`
[INFO] [stdout]  --> tests/widget_input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use position::Rect;
[INFO] [stdout]   |     ^^^^^^^^ help: a similar path exists: `carbide_core::position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui {
[INFO] [stdout]    |                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui<S> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     <dyn event::Event>::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/global_input.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 13 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 13 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 24 -     let mut input = input::Global::new();
[INFO] [stdout] 24 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     let mut input = input::Global::new();
[INFO] [stdout] 35 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:45:28
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 45 -     let mut input = input::Global::new();
[INFO] [stdout] 45 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/global_input.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut input = input::Global::new();
[INFO] [stdout]    |                            ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 59 -     let mut input = input::Global::new();
[INFO] [stdout] 59 +     let mut input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/widget_input.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 11 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 11 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 19 -     let mut global_input = input::Global::new();
[INFO] [stdout] 19 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Source` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let source = input::Source::Mouse;
[INFO] [stdout]    |                         ^^^^^^ could not find `Source` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Source;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use core::error::Source;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Source`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 20 -     let source = input::Source::Mouse;
[INFO] [stdout] 20 +     let source = Source::Mouse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 21 -     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout] 21 +     push_event(&mut global_input, Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget_input::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 25 -     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout] 25 +     let widget_input = Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let mut global_input = input::Global::new();
[INFO] [stdout] 32 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Click` in module `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:73
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                                                         ^^^^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::KeyboardEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::MouseEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Click`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, event::Ui::Click(Some(widget), Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget_input::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 43 -     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout] 43 +     let widget_input = Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |                                       ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget_input::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 49 -     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout] 49 +     let another_widget_input = Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Button` in `widget`
[INFO] [stdout]    --> tests/ui.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |         widget::Button::new()
[INFO] [stdout]     |                 ^^^^^^ could not find `Button` in `widget`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::ui::Button;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use input::Button;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Button`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 100 -         widget::Button::new()
[INFO] [stdout] 100 +         Button::new()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Scroll` in module `event`
[INFO] [stdout]    --> tests/ui.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let expected_scroll = event::Scroll{
[INFO] [stdout]     |                                  ^^^^^^ not found in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::event_handler::MouseEvent::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::input::Motion::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] 1   + use crate::ui::widget::Scroll;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Scroll`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 127 -     let expected_scroll = event::Scroll{
[INFO] [stdout] 127 +     let expected_scroll = Scroll{
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]    --> tests/ui.rs:133:36
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                                    ^^ could not find `Ui` in `event`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 1   + use carbide_core::Ui;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 133 -     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout] 133 +     if let event::Event::Ui(Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/global_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                   ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/global_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Key, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: tests/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate input;
[INFO] [stdout]   | ------------------- the item `input` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `input::Button::Mouse`
[INFO] [stdout]  --> tests/global_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use input::Button::Mouse;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Global` in crate `input`
[INFO] [stdout]   --> tests/widget_input.rs:11:34
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                  ^^^^^^ not found in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 11 - fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout] 11 + fn push_event(input: &mut Global, event: event::Event) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `x`
[INFO] [stdout]   --> tests/global_input.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                             ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `y`
[INFO] [stdout]   --> tests/global_input.rs:18:67
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                                   ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 19 -     let mut global_input = input::Global::new();
[INFO] [stdout] 19 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Key`, `Motion`
[INFO] [stdout]  --> tests/global_input.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use carbide_core::input::{Motion, Button, Key};
[INFO] [stdout]   |                           ^^^^^^          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Source` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let source = input::Source::Mouse;
[INFO] [stdout]    |                         ^^^^^^ could not find `Source` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Source;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use core::error::Source;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Source`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 20 -     let source = input::Source::Mouse;
[INFO] [stdout] 20 +     let source = Source::Mouse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/widget_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:21:42
[INFO] [stdout]    |
[INFO] [stdout] 21 |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 21 -     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout] 21 +     push_event(&mut global_input, Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `carbide_core` in the crate root
[INFO] [stdout]   --> tests/widget_input.rs:22:74
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^ could not find `carbide_core` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::Motion;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use input::Motion;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Motion`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 22 -     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout] 22 +     push_event(&mut global_input, event::Event::Raw(Input::Motion(Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:25:31
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 25 -     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout] 25 +     let widget_input = Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Global` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:32:35
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut global_input = input::Global::new();
[INFO] [stdout]    |                                   ^^^^^^ could not find `Global` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::alloc::Global;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Global`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 32 -     let mut global_input = input::Global::new();
[INFO] [stdout] 32 +     let mut global_input = Global::new();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Ui` in `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:42
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                          ^^ could not find `Ui` in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::Ui;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Ui`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Click` in module `event`
[INFO] [stdout]   --> tests/widget_input.rs:35:73
[INFO] [stdout]    |
[INFO] [stdout] 35 |     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout]    |                                                                         ^^^^^ not found in `event`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::KeyboardEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::event_handler::MouseEvent::Click;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Click`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 35 -     push_event(&mut global_input, event::Ui::Click(Some(widget), event::Click{
[INFO] [stdout] 35 +     push_event(&mut global_input, event::Ui::Click(Some(widget), Click{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |                               ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 43 -     let widget_input = input::Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout] 43 +     let widget_input = Widget::for_widget(widget, widget_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Widget` in `input`
[INFO] [stdout]   --> tests/widget_input.rs:49:39
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |                                       ^^^^^^ could not find `Widget` in `input`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use carbide_core::prelude::Widget;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::widget::Widget;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Widget`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 49 -     let another_widget_input = input::Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout] 49 +     let another_widget_input = Widget::for_widget(another_widget, another_area, &global_input);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> tests/widget_input.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use event::{self, Input};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Motion`
[INFO] [stdout]  --> tests/widget_input.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/widget_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^ the item `input` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]  --> tests/widget_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Motion`
[INFO] [stdout]  --> tests/widget_input.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]  --> tests/widget_input.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use input::{self, Button, Motion, MouseButton};
[INFO] [stdout]   |             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: tests/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | extern crate input;
[INFO] [stdout]   | ------------------- the item `input` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]  --> tests/widget_input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use widget;
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/widget_input.rs:11:56
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Colorable`, `Labelable`, `UiBuilder`, `Ui`, `Widget`
[INFO] [stdout]  --> tests/ui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Color,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 3 |     Labelable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     Positionable,
[INFO] [stdout] 5 |     Colorable,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 6 |     Sizeable,
[INFO] [stdout] 7 |     Widget,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 8 |     Ui,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 9 |     UiBuilder
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> tests/ui.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use event::{self, Input};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `input` is imported redundantly
[INFO] [stdout]   --> tests/ui.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use input::{self, Button, Key, Motion, MouseButton};
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/mod.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | extern crate input;
[INFO] [stdout]    | ------------------- the item `input` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widget`
[INFO] [stdout]   --> tests/ui.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use widget;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:13:56
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> dyn event::Event {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/global_input.rs:17:53
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event {
[INFO] [stdout]    |                                                     ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn mouse_move_event(x: Scalar, y: Scalar) -> event::Event<S> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:11:49
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: dyn event::Event) {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/widget_input.rs:11:56
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event) {
[INFO] [stdout]    |                                                        ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn push_event(input: &mut input::Global, event: event::Event<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui) {
[INFO] [stdout]    |                              ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn left_click_mouse(ui: &mut Ui<S>) {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/global_input.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                       ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `carbide_core::event::Motion`, found `input::Motion`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: `input::Motion` and `carbide_core::event::Motion` have similar names, but are actually distinct types
[INFO] [stdout] note: `input::Motion` is defined in crate `input`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `carbide_core::event::Motion` is defined in crate `carbide_core`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/mod.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/input.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Motion(Motion),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn release_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui) {
[INFO] [stdout]    |                                                     ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn press_mouse_button(button: MouseButton, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:40:57
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui) {
[INFO] [stdout]    |                                                         ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn move_mouse_to_widget(widget_id: widget::Id, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:47:59
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui) {
[INFO] [stdout]    |                                                           ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn move_mouse_to_abs_coordinates(x: f64, y: f64, ui: &mut Ui<S>) {
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui, event: Input) {
[INFO] [stdout]    |                                             ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn test_handling_basic_input_event(ui: &mut Ui<S>, event: Input) {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                 ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui<S>, event: event::Event) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: dyn event::Event) {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `carbide_core::event::event::Event`
[INFO] [stdout]   --> tests/ui.rs:56:51
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event) {
[INFO] [stdout]    |                                                   ^^^^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/event.rs:7:11
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub trait Event<S>: CommonWidget<S> + StateSync<S> where S: GlobalState {
[INFO] [stdout]    |           ^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn assert_event_was_pushed(ui: &Ui, event: event::Event<S>) {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:64:42
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui) -> Point {
[INFO] [stdout]    |                                          ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 64 | fn to_window_coordinates(xy: Point, ui: &Ui<S>) -> Point {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for struct `Ui`
[INFO] [stdout]   --> tests/ui.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui {
[INFO] [stdout]    |                       ^^ expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: struct defined here, with 1 generic parameter: `S`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/ui.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Ui<S> where S: GlobalState {
[INFO] [stdout]    |            ^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn windowless_ui() -> Ui<S> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:21:84
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]     |                                                                                    ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::ne(999), source).into());
[INFO] [stdout]     |                                                                                    ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     <dyn event::Event>::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |     ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:26:68
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, <dyn event::Event>::Raw(event));
[INFO] [stdout]    |                                 ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:25:62
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::ne(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:37:68
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/ui.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                               ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                   ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `x`
[INFO] [stdout]   --> tests/global_input.rs:18:61
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                             ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `input::Motion::MouseRelative` has no field named `y`
[INFO] [stdout]   --> tests/global_input.rs:18:67
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                                                                   ^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     MouseRelative([f64; 2]),
[INFO] [stdout]    |     ------------- `input::Motion::MouseRelative` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `input::Motion::MouseRelative` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(input::Motion::MouseRelative(/* fields */)))
[INFO] [stdout]    |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:47:68
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:33:30
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::new(4);
[INFO] [stdout]     |                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::ne(4);
[INFO] [stdout]     |                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::new(7);
[INFO] [stdout]     |                                      ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::ne(7);
[INFO] [stdout]     |                                      ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 22 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Canvas` in the current scope
[INFO] [stdout]   --> tests/ui.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |         widget::Canvas::new()
[INFO] [stdout]    |                         ^^^ function or associated item not found in `Canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]    --> tests/ui.rs:125:43
[INFO] [stdout]     |
[INFO] [stdout] 125 |     ui.handle_event(Input::Motion(Motion::Scroll { x: 10.0, y: 33.0 }));
[INFO] [stdout]     |                                           ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> tests/ui.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let <dyn event::Event>::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/global_input.rs:18:37
[INFO] [stdout]    |
[INFO] [stdout] 18 |     event::Event::Raw(Input::Motion(Motion::MouseRelative { x: x, y: y }))
[INFO] [stdout]    |                       ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `carbide_core::event::Motion`, found `input::Motion`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: `input::Motion` and `carbide_core::event::Motion` have similar names, but are actually distinct types
[INFO] [stdout] note: `input::Motion` is defined in crate `input`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pistoncore-input-1.0.1/src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: `carbide_core::event::Motion` is defined in crate `carbide_core`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/mod.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum Motion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/event/input.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Motion(Motion),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "widget_input") due to 23 previous errors; 7 warnings emitted
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Ui` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]    --> tests/ui.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                          ^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 30 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0308, E0412, E0432, E0433, E0559, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0422, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "global_input") due to 31 previous errors; 17 warnings emitted
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "ui") due to 30 previous errors; 7 warnings emitted
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:26:68
[INFO] [stdout]    |
[INFO] [stdout] 26 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::LShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:37:42
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:37:68
[INFO] [stdout]    |
[INFO] [stdout] 37 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 0.0, y: 50.0 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:46:42
[INFO] [stdout]    |
[INFO] [stdout] 46 |     push_event(&mut input, event::Event::Raw(Input::Press(Button::Keyboard(Key::RShift))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]   --> tests/global_input.rs:47:68
[INFO] [stdout]    |
[INFO] [stdout] 47 |     push_event(&mut input, event::Event::Raw(Input::Motion(Motion::Scroll { x: 7.0, y: 88.5 })));
[INFO] [stdout]    |                                                                    ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:48:28
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:48:42
[INFO] [stdout]    |
[INFO] [stdout] 48 |     push_event(&mut input, event::Event::Raw(Input::Press(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, <dyn event::Event>::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     push_event(&mut input, event::Event::Raw(Input::Release(Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                          ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let evt1 = event::Event::Raw(Input::Press(Keyboard(Key::Z)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/global_input.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = <dyn event::Event>::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/global_input.rs:63:30
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let evt2 = event::Event::Raw(Input::Press(Keyboard(Key::A)));
[INFO] [stdout]    |                              ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:21:84
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::new(999), source).into());
[INFO] [stdout]     |                                                                                    ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 21  |     push_event(&mut global_input, event::Ui::WidgetCapturesInputSource(widget::Id::ne(999), source).into());
[INFO] [stdout]     |                                                                                    ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:22:35
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 |     push_event(&mut global_input, event::Event::Raw(Input::Motion(crate::carbide_core::input::Motion::MouseRelative { x: 30.0, y: 30. })));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/widget_input.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, <dyn event::Event>::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                   ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/widget_input.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     push_event(&mut global_input, event::Event::Raw(Input::Press(Button::Mouse(MouseButton::Left))));
[INFO] [stdout]    |                                                 ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:25:62
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::new(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 25  |     let widget_input = input::Widget::for_widget(widget::Id::ne(2), widget_area, &global_input);
[INFO] [stdout]     |                                                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:33:30
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::new(4);
[INFO] [stdout]     |                              ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 33  |     let widget = widget::Id::ne(4);
[INFO] [stdout]     |                              ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Uuid` in the current scope
[INFO] [stdout]    --> tests/widget_input.rs:47:38
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::new(7);
[INFO] [stdout]     |                                      ^^^ function or associated item not found in `Uuid`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Uuid` consider using one of the following associated functions:
[INFO] [stdout]       uuid::builder::<impl Uuid>::nil
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_fields_le
[INFO] [stdout]       uuid::builder::<impl Uuid>::from_u128
[INFO] [stdout]       and 5 others
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/uuid-0.8.2/src/builder/mod.rs:43:5
[INFO] [stdout]     |
[INFO] [stdout] 43  |       pub const fn nil() -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  | /     pub fn from_fields(
[INFO] [stdout] 71  | |         d1: u32,
[INFO] [stdout] 72  | |         d2: u16,
[INFO] [stdout] 73  | |         d3: u16,
[INFO] [stdout] 74  | |         d4: &[u8],
[INFO] [stdout] 75  | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 127 | /     pub fn from_fields_le(
[INFO] [stdout] 128 | |         d1: u32,
[INFO] [stdout] 129 | |         d2: u16,
[INFO] [stdout] 130 | |         d3: u16,
[INFO] [stdout] 131 | |         d4: &[u8],
[INFO] [stdout] 132 | |     ) -> Result<Uuid, crate::Error> {
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn from_u128(v: u128) -> Self {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `ne` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 47  |     let another_widget = widget::Id::ne(7);
[INFO] [stdout]     |                                      ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> tests/ui.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, <dyn event::Event>::Raw(event));
[INFO] [stdout]    |                                 ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Raw` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]   --> tests/ui.rs:53:47
[INFO] [stdout]    |
[INFO] [stdout] 53 |     assert_event_was_pushed(ui, event::Event::Raw(event));
[INFO] [stdout]    |                                               ^^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `Canvas` in the current scope
[INFO] [stdout]   --> tests/ui.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |         widget::Canvas::new()
[INFO] [stdout]    |                         ^^^ function or associated item not found in `Canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant named `Scroll` found for enum `input::Motion`
[INFO] [stdout]    --> tests/ui.rs:125:43
[INFO] [stdout]     |
[INFO] [stdout] 125 |     ui.handle_event(Input::Motion(Motion::Scroll { x: 10.0, y: 33.0 }));
[INFO] [stdout]     |                                           ^^^^^^ variant not found in `input::Motion`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> tests/ui.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let <dyn event::Event>::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |            ++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `Ui` found for trait object `dyn carbide_core::event::event::Event<_>` in the current scope
[INFO] [stdout]    --> tests/ui.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 |     if let event::Event::Ui(event::Ui::Scroll(_, scroll)) = *event {
[INFO] [stdout]     |                          ^^ associated item not found in `dyn Event<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 80 previous errors; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0308, E0412, E0422, E0432, E0433, E0559, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `carbide_core` (test "mod") due to 81 previous errors; 31 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "828e54f3bb82cf6cae616715aeb9439adc8f22bc8f5217cdcbc46ddf9df4d7a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "828e54f3bb82cf6cae616715aeb9439adc8f22bc8f5217cdcbc46ddf9df4d7a7", kill_on_drop: false }`
[INFO] [stdout] 828e54f3bb82cf6cae616715aeb9439adc8f22bc8f5217cdcbc46ddf9df4d7a7
