[INFO] fetching crate carbide_core 0.70.1...
[INFO] checking carbide_core-0.70.1 against master#4d1bd0db7f489b22c6d8aa2385937a95412c015b for pr-114682
[INFO] extracting crate carbide_core 0.70.1 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate carbide_core 0.70.1 on toolchain 4d1bd0db7f489b22c6d8aa2385937a95412c015b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "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-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded naga v0.2.0
[INFO] [stderr]   Downloaded stdweb-internal-runtime v0.1.5
[INFO] [stderr]   Downloaded libloading v0.6.7
[INFO] [stderr]   Downloaded wgpu-types v0.6.1
[INFO] [stderr]   Downloaded andrew v0.2.1
[INFO] [stderr]   Downloaded gfx-backend-metal v0.6.5
[INFO] [stderr]   Downloaded thunderdome v0.3.0
[INFO] [stderr]   Downloaded gfx-auxil v0.7.0
[INFO] [stderr]   Downloaded raw-window-handle v0.4.3
[INFO] [stderr]   Downloaded range-alloc v0.1.3
[INFO] [stderr]   Downloaded raw-window-handle v0.3.4
[INFO] [stderr]   Downloaded x11 v2.21.0
[INFO] [stderr]   Downloaded lyon_algorithms v0.17.7
[INFO] [stderr]   Downloaded xcb v0.10.1
[INFO] [stderr]   Downloaded parking_lot_core v0.8.6
[INFO] [stderr]   Downloaded wayland-client v0.23.6
[INFO] [stderr]   Downloaded stdweb v0.4.20
[INFO] [stderr]   Downloaded spirv_cross v0.22.2
[INFO] [stderr]   Downloaded lyon_tessellation v0.17.10
[INFO] [stderr]   Downloaded quick-xml v0.22.0
[INFO] [stderr]   Downloaded web-sys v0.3.48
[INFO] [stderr]   Downloaded wayland-protocols v0.23.6
[INFO] [stderr]   Downloaded nix v0.14.1
[INFO] [stderr]   Downloaded quote v0.6.13
[INFO] [stderr]   Downloaded sha1_smol v1.0.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.6.6
[INFO] [stderr]   Downloaded dlib v0.4.2
[INFO] [stderr]   Downloaded discard v1.0.4
[INFO] [stderr]   Downloaded euclid v0.22.9
[INFO] [stderr]   Downloaded wgpu-core v0.6.5
[INFO] [stderr]   Downloaded wayland-scanner v0.23.6
[INFO] [stderr]   Downloaded base-x v0.2.11
[INFO] [stderr]   Downloaded lyon_geom v0.17.7
[INFO] [stderr]   Downloaded smithay-clipboard v0.4.0
[INFO] [stderr]   Downloaded crossbeam-deque v0.7.4
[INFO] [stderr]   Downloaded wayland-commons v0.23.6
[INFO] [stderr]   Downloaded gfx-backend-dx11 v0.6.17
[INFO] [stderr]   Downloaded gfx-backend-dx12 v0.6.13
[INFO] [stderr]   Downloaded cocoa-foundation v0.1.2
[INFO] [stderr]   Downloaded storage-map v0.3.0
[INFO] [stderr]   Downloaded ash v0.31.0
[INFO] [stderr]   Downloaded core-graphics-types v0.1.3
[INFO] [stderr]   Downloaded rusttype v0.8.3
[INFO] [stderr]   Downloaded ron v0.6.6
[INFO] [stderr]   Downloaded wgpu v0.6.2
[INFO] [stderr]   Downloaded piston-viewport v1.0.2
[INFO] [stderr]   Downloaded gfx-memory v0.2.2
[INFO] [stderr]   Downloaded metal v0.20.0
[INFO] [stderr]   Downloaded carbide_derive v0.70.1
[INFO] [stderr]   Downloaded clipboard-win v2.2.0
[INFO] [stderr]   Downloaded objc-foundation v0.1.1
[INFO] [stderr]   Downloaded objc_id v0.1.1
[INFO] [stderr]   Downloaded line_drawing v0.7.0
[INFO] [stderr]   Downloaded rusttype v0.7.9
[INFO] [stderr]   Downloaded xdg v2.5.2
[INFO] [stderr]   Downloaded memmap v0.7.0
[INFO] [stderr]   Downloaded downcast-rs v1.2.0
[INFO] [stderr]   Downloaded unicode-xid v0.1.0
[INFO] [stderr]   Downloaded proc-macro2 v0.4.30
[INFO] [stderr]   Downloaded x11-clipboard v0.5.3
[INFO] [stderr]   Downloaded copypasta v0.6.3
[INFO] [stderr]   Downloaded float_next_after v0.1.5
[INFO] [stderr]   Downloaded lyon v0.17.10
[INFO] [stderr]   Downloaded piston-float v1.0.1
[INFO] [stderr]   Downloaded gfx-backend-empty v0.6.0
[INFO] [stderr]   Downloaded gfx-backend-vulkan v0.6.5
[INFO] [stderr]   Downloaded xml-rs v0.8.19
[INFO] [stderr]   Downloaded approx v0.3.2
[INFO] [stderr]   Downloaded stdweb-derive v0.5.3
[INFO] [stderr]   Downloaded d3d12 v0.3.2
[INFO] [stderr]   Downloaded spirv_headers v1.5.0
[INFO] [stderr]   Downloaded stb_truetype v0.3.1
[INFO] [stderr]   Downloaded wio v0.2.2
[INFO] [stderr]   Downloaded wayland-sys v0.23.6
[INFO] [stderr]   Downloaded num-rational v0.2.4
[INFO] [stderr]   Downloaded lyon_path v0.17.7
[INFO] [stderr]   Downloaded num v0.2.1
[INFO] [stderr]   Downloaded ordered-float v1.1.1
[INFO] [stderr]   Downloaded pistoncore-input v1.0.1
[INFO] [stderr]   Downloaded gfx-hal v0.6.0
[INFO] [stderr]   Downloaded sid v0.6.1
[INFO] [stderr]   Downloaded sha1 v0.6.1
[INFO] [stderr]   Downloaded gfx-descriptor v0.2.0
[INFO] [stderr]   Downloaded inplace_it v0.3.5
[INFO] [stderr]   Downloaded copyless v0.1.5
[INFO] [stderr]   Downloaded stdweb-internal-macros v0.2.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fba0b8bca490298e4b9dab68e70012ed4cbbdeed45ee61a9b10fe6dd8ddb7b99
[INFO] running `Command { std: "docker" "start" "-a" "fba0b8bca490298e4b9dab68e70012ed4cbbdeed45ee61a9b10fe6dd8ddb7b99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fba0b8bca490298e4b9dab68e70012ed4cbbdeed45ee61a9b10fe6dd8ddb7b99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fba0b8bca490298e4b9dab68e70012ed4cbbdeed45ee61a9b10fe6dd8ddb7b99", kill_on_drop: false }`
[INFO] [stdout] fba0b8bca490298e4b9dab68e70012ed4cbbdeed45ee61a9b10fe6dd8ddb7b99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+4d1bd0db7f489b22c6d8aa2385937a95412c015b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86ebbb8c2e1ec4b58cd33457ef34ab5a9bfc0412c8eed474e2039d1473eee399
[INFO] running `Command { std: "docker" "start" "-a" "86ebbb8c2e1ec4b58cd33457ef34ab5a9bfc0412c8eed474e2039d1473eee399", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[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]    Compiling maybe-uninit v2.0.0
[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]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling syn v2.0.42
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]     Checking gfx-hal v0.6.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking ash v0.31.0
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking inplace_it v0.3.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[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 rand_chacha v0.2.2
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking piston-viewport v1.0.2
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking spirv_headers v1.5.0
[INFO] [stderr]     Checking float_next_after v0.1.5
[INFO] [stderr]     Checking sid v0.6.1
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking dyn-clone v1.0.16
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking lyon_geom v0.17.7
[INFO] [stderr]     Checking gfx-descriptor v0.2.0
[INFO] [stderr]     Checking gfx-backend-empty v0.6.0
[INFO] [stderr]     Checking gfx-memory v0.2.2
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking lyon_path v0.17.7
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking lyon_tessellation v0.17.10
[INFO] [stderr]     Checking lyon_algorithms v0.17.7
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling thiserror-impl v1.0.51
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]     Checking lyon v0.17.10
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking futures-util v0.3.29
[INFO] [stderr]     Checking thiserror v1.0.51
[INFO] [stderr]     Checking naga v0.2.0
[INFO] [stderr]     Checking x11-clipboard v0.5.3
[INFO] [stderr]    Compiling carbide_derive v0.70.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking futures-executor v0.3.29
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]     Checking gfx-backend-vulkan v0.6.5
[INFO] [stderr]     Checking wgpu-core v0.6.5
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ron v0.6.6
[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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 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 `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 `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 `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: 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 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 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/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] [stderr] warning: build failed, waiting for other jobs to finish...
[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/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[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: 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[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[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/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/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 `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[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/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: 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[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[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[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[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[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[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 `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: 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: 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] 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: 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[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[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[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[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[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 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: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] 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/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: 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: 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[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: aborting due to 13 previous errors; 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 25 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0422, E0432, E0433.
[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 "widget_input") due to 17 previous errors; 4 warnings emitted
[INFO] [stderr] error: could not compile `carbide_core` (test "global_input") due to 14 previous errors; 5 warnings emitted
[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] [stderr] error: could not compile `carbide_core` (test "ui") due to 26 previous errors; 4 warnings emitted
[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: 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: 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: 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: 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: 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: 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: 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: aborting due to 53 previous errors; 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433.
[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 54 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "86ebbb8c2e1ec4b58cd33457ef34ab5a9bfc0412c8eed474e2039d1473eee399", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86ebbb8c2e1ec4b58cd33457ef34ab5a9bfc0412c8eed474e2039d1473eee399", kill_on_drop: false }`
[INFO] [stdout] 86ebbb8c2e1ec4b58cd33457ef34ab5a9bfc0412c8eed474e2039d1473eee399
[INFO] checking carbide_core-0.70.1 against try#785364c7e5e0804473a3fddfb579798ea14e3493 for pr-114682
[INFO] extracting crate carbide_core 0.70.1 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate carbide_core 0.70.1 on toolchain 785364c7e5e0804473a3fddfb579798ea14e3493
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "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-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+785364c7e5e0804473a3fddfb579798ea14e3493" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2d1671ef4d94c55085de1aaded7d4c18e4083de5c7447d3fbbf201ae1baf8f5
[INFO] running `Command { std: "docker" "start" "-a" "d2d1671ef4d94c55085de1aaded7d4c18e4083de5c7447d3fbbf201ae1baf8f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2d1671ef4d94c55085de1aaded7d4c18e4083de5c7447d3fbbf201ae1baf8f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2d1671ef4d94c55085de1aaded7d4c18e4083de5c7447d3fbbf201ae1baf8f5", kill_on_drop: false }`
[INFO] [stdout] d2d1671ef4d94c55085de1aaded7d4c18e4083de5c7447d3fbbf201ae1baf8f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+785364c7e5e0804473a3fddfb579798ea14e3493" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf73078478686cc34bb10d613ae7fd82e3ce3a1d334f0b02f4e9d3da6b8270bf
[INFO] running `Command { std: "docker" "start" "-a" "cf73078478686cc34bb10d613ae7fd82e3ce3a1d334f0b02f4e9d3da6b8270bf", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[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 maybe-uninit v2.0.0
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling syn v2.0.42
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling quick-xml v0.22.0
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking gfx-hal v0.6.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling xcb v0.10.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking ash v0.31.0
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[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]    Compiling num-iter v0.1.43
[INFO] [stderr]     Checking inplace_it v0.3.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking rand_core v0.5.1
[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 getrandom v0.2.11
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking piston-viewport v1.0.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking dyn-clone v1.0.16
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking spirv_headers v1.5.0
[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 gfx-descriptor v0.2.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking gfx-backend-empty v0.6.0
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking gfx-memory v0.2.2
[INFO] [stderr]     Checking lyon_geom v0.17.7
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking lyon_path v0.17.7
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking lyon_tessellation v0.17.10
[INFO] [stderr]     Checking lyon_algorithms v0.17.7
[INFO] [stderr]     Checking lyon v0.17.10
[INFO] [stderr]     Checking x11-clipboard v0.5.3
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling thiserror-impl v1.0.51
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]     Checking futures-util v0.3.29
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking thiserror v1.0.51
[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 wgpu-core v0.6.5
[INFO] [stderr]     Checking futures-executor v0.3.29
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking ron v0.6.6
[INFO] [stderr]     Checking bincode v1.3.3
[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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 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]    = note: `#[warn(dead_code)]` on by default
[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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 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 `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[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 `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 `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 `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 `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 `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: 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[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] [stderr] warning: build failed, waiting for other jobs to finish...
[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[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[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 `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: 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: 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[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[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[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/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[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[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] error: aborting due to 16 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[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] 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: 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] [stderr] error: could not compile `carbide_core` (test "widget_input") due to 17 previous errors; 4 warnings emitted
[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: 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 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[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: 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[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[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[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 `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[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[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/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 `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[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] 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] 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] 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] error: aborting due to 13 previous errors; 5 warnings emitted
[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] 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] Some errors have detailed explanations: E0107, E0252, E0412, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[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: 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: 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 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] 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: 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: 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 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 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: 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 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] 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/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: 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/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: 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 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: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: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: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: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[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: 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: aborting due to 25 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0422, E0432, E0433.
[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 14 previous errors; 5 warnings emitted
[INFO] [stdout] error: aborting due to 53 previous errors; 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0252, E0412, E0422, E0432, E0433.
[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 "ui") due to 26 previous errors; 4 warnings emitted
[INFO] [stderr] error: could not compile `carbide_core` (test "mod") due to 54 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "cf73078478686cc34bb10d613ae7fd82e3ce3a1d334f0b02f4e9d3da6b8270bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf73078478686cc34bb10d613ae7fd82e3ce3a1d334f0b02f4e9d3da6b8270bf", kill_on_drop: false }`
[INFO] [stdout] cf73078478686cc34bb10d613ae7fd82e3ce3a1d334f0b02f4e9d3da6b8270bf
