[INFO] fetching crate ribir_core 0.4.0-alpha.49...
[INFO] testing ribir_core-0.4.0-alpha.49 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate ribir_core 0.4.0-alpha.49 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate ribir_core 0.4.0-alpha.49
[INFO] finished tweaking crates.io crate ribir_core 0.4.0-alpha.49
[INFO] tweaked toml for crates.io crate ribir_core 0.4.0-alpha.49 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ribir_core 0.4.0-alpha.49 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ribir_core 0.4.0-alpha.49 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4a4493a7d883bf3ea1c5440d8886df61d7b9ecd01e3f8ccd55b63280d3954046
[INFO] running `Command { std: "docker" "start" "-a" "4a4493a7d883bf3ea1c5440d8886df61d7b9ecd01e3f8ccd55b63280d3954046", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a4493a7d883bf3ea1c5440d8886df61d7b9ecd01e3f8ccd55b63280d3954046", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a4493a7d883bf3ea1c5440d8886df61d7b9ecd01e3f8ccd55b63280d3954046", kill_on_drop: false }`
[INFO] [stdout] 4a4493a7d883bf3ea1c5440d8886df61d7b9ecd01e3f8ccd55b63280d3954046
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8238c674fd49eec8a559fe6841173c50e33e6b9a14981e75386341ab54b82b05
[INFO] running `Command { std: "docker" "start" "-a" "8238c674fd49eec8a559fe6841173c50e33e6b9a14981e75386341ab54b82b05", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling find-msvc-tools v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling cc v1.2.35
[INFO] [stderr]    Compiling ttf-parser v0.25.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling simplecss v0.2.2
[INFO] [stderr]    Compiling unicode-ccc v0.4.0
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling memmap2 v0.9.8
[INFO] [stderr]    Compiling unicode-bidi-mirroring v0.4.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling kurbo v0.11.3
[INFO] [stderr]    Compiling fontconfig-parser v0.5.8
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling cursor-icon v1.2.0
[INFO] [stderr]    Compiling xcursor v0.3.10
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling dpi v0.1.2
[INFO] [stderr]    Compiling svgtypes v0.15.3
[INFO] [stderr]    Compiling smol_str v0.2.2
[INFO] [stderr]    Compiling priority-queue v2.5.0
[INFO] [stderr]    Compiling usvg v0.45.1
[INFO] [stderr]    Compiling fontdb v0.23.0
[INFO] [stderr]    Compiling rustybuzz v0.20.1
[INFO] [stderr]    Compiling polling v3.10.0
[INFO] [stderr]    Compiling gethostname v1.0.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling calloop v0.13.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling wayland-protocols v0.32.9
[INFO] [stderr]    Compiling wayland-cursor v0.31.11
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling indextree-macros v0.1.3
[INFO] [stderr]    Compiling calloop-wayland-source v0.3.0
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling indextree v4.7.4
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling tokio-run-until-stalled v0.1.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling rxrust v1.0.0-beta.10
[INFO] [stderr]    Compiling euclid v0.22.11
[INFO] [stderr]    Compiling triomphe v0.1.14
[INFO] [stderr]    Compiling material-colors v0.4.2
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling ribir_algo v0.4.0-alpha.49
[INFO] [stderr]    Compiling wayland-protocols-wlr v0.3.9
[INFO] [stderr]    Compiling wayland-protocols-plasma v0.3.9
[INFO] [stderr]    Compiling lyon_geom v1.0.6
[INFO] [stderr]    Compiling ribir_geom v0.4.0-alpha.49
[INFO] [stderr]    Compiling lyon_path v1.0.7
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling lyon_algorithms v1.0.5
[INFO] [stderr]    Compiling ribir_painter v0.4.0-alpha.49
[INFO] [stderr]    Compiling ribir_macros v0.4.0-alpha.49
[INFO] [stderr]    Compiling ribir_core v0.4.0-alpha.49 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 06s
[INFO] running `Command { std: "docker" "inspect" "8238c674fd49eec8a559fe6841173c50e33e6b9a14981e75386341ab54b82b05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8238c674fd49eec8a559fe6841173c50e33e6b9a14981e75386341ab54b82b05", kill_on_drop: false }`
[INFO] [stdout] 8238c674fd49eec8a559fe6841173c50e33e6b9a14981e75386341ab54b82b05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bbd92ff384798a77c5200b89a7eda93f6d7ce52d30ea85d002e710c1513bfad5
[INFO] running `Command { std: "docker" "start" "-a" "bbd92ff384798a77c5200b89a7eda93f6d7ce52d30ea85d002e710c1513bfad5", kill_on_drop: false }`
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling ribir_core v0.4.0-alpha.49 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/animation/animate.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |   use crate::{reset_test_env, test_helper::TestWindow};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:80:9
[INFO] [stdout]     |
[INFO] [stdout]  79 | #[cfg(feature = "test-utils")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `test-utils` feature
[INFO] [stdout]  80 | pub mod test_helper;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::reset_test_env`
[INFO] [stdout]    --> src/animation/animate_state.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |   use crate::{prelude::*, reset_test_env};
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/animation/stagger.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |   use crate::{reset_test_env, test_helper::*, window::WindowFlags};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/widget_scope.rs:181:14
[INFO] [stdout]     |
[INFO] [stdout] 181 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/keep_alive.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/theme.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/cursor.rs:54:15
[INFO] [stdout]    |
[INFO] [stdout] 54 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/margin.rs:160:14
[INFO] [stdout]     |
[INFO] [stdout] 160 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/padding.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 |   use crate::test_helper::*;
[INFO] [stdout]    |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/scrollable.rs:268:15
[INFO] [stdout]     |
[INFO] [stdout] 268 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/transform_widget.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |   use crate::test_helper::*;
[INFO] [stdout]    |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/visibility.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |   use crate::test_helper::*;
[INFO] [stdout]    |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/unconstrained_box.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |   use crate::test_helper::*;
[INFO] [stdout]    |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:261:14
[INFO] [stdout]     |
[INFO] [stdout] 261 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/layout_box.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/align.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/fitted_box.rs:186:15
[INFO] [stdout]     |
[INFO] [stdout] 186 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/clip_boundary.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/focus_scope.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/global_anchor.rs:366:14
[INFO] [stdout]     |
[INFO] [stdout] 366 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/mix_builtin.rs:630:15
[INFO] [stdout]     |
[INFO] [stdout] 630 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/container.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 |   use crate::test_helper::*;
[INFO] [stdout]    |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/class.rs:510:15
[INFO] [stdout]     |
[INFO] [stdout] 510 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/constrained_box.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 38 |   use crate::test_helper::*;
[INFO] [stdout]    |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     reset_test_env,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ no `reset_test_env` in the root
[INFO] [stdout] 36 |     test_helper::{split_value, *},
[INFO] [stdout]    |     ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> src/lib.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 79 | #[cfg(feature = "test-utils")]
[INFO] [stdout]    |       ---------------------- the item is gated behind the `test-utils` feature
[INFO] [stdout] 80 | pub mod test_helper;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:848:27
[INFO] [stdout]     |
[INFO] [stdout] 848 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/builtin_widgets/border.rs:507:15
[INFO] [stdout]     |
[INFO] [stdout] 507 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/context/widget_ctx.rs:263:27
[INFO] [stdout]     |
[INFO] [stdout] 263 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/events/dispatcher.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/events/custom_event.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/events/pointers.rs:82:27
[INFO] [stdout]    |
[INFO] [stdout] 82 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/events/keyboard.rs:48:15
[INFO] [stdout]    |
[INFO] [stdout] 48 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/events/character.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |   use crate::{reset_test_env, test_helper::*, window::DelayEvent};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/events/wheel.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |               |
[INFO] [stdout]    |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]   --> src/events/lifecycle.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/events/focus_mgr.rs:564:15
[INFO] [stdout]     |
[INFO] [stdout] 564 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/pipe.rs:686:27
[INFO] [stdout]     |
[INFO] [stdout] 686 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/state/part_state.rs:204:27
[INFO] [stdout]     |
[INFO] [stdout] 204 |   use crate::{prelude::*, test_helper::*};
[INFO] [stdout]     |                           ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/state/prior_op.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |   use crate::{prelude::*, reset_test_env, test_helper::TestWindow};
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           no `reset_test_env` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:80:9
[INFO] [stdout]     |
[INFO] [stdout]  79 | #[cfg(feature = "test-utils")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `test-utils` feature
[INFO] [stdout]  80 | pub mod test_helper;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/state/stateful.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 |   use crate::test_helper::*;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::reset_test_env`
[INFO] [stdout]    --> src/state.rs:444:7
[INFO] [stdout]     |
[INFO] [stdout] 444 |   use crate::reset_test_env;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^ no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/widget_children/compose_child_impl.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout] 210 |   use crate::test_helper::{MockBox, MockStack};
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:80:9
[INFO] [stdout]     |
[INFO] [stdout]  79 | #[cfg(feature = "test-utils")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `test-utils` feature
[INFO] [stdout]  80 | pub mod test_helper;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/widget_children/single_child_impl.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |   use crate::test_helper::MockBox;
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:80:9
[INFO] [stdout]     |
[INFO] [stdout]  79 | #[cfg(feature = "test-utils")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `test-utils` feature
[INFO] [stdout]  80 | pub mod test_helper;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/widget_children.rs:449:15
[INFO] [stdout]     |
[INFO] [stdout] 449 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:337:27
[INFO] [stdout]     |
[INFO] [stdout] 337 |   use crate::{prelude::*, reset_test_env, test_helper::*};
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/widget_tree.rs:338:15
[INFO] [stdout]     |
[INFO] [stdout] 338 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]     |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |               |
[INFO] [stdout]     |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]     --> src/window.rs:1132:15
[INFO] [stdout]      |
[INFO] [stdout] 1132 |   use crate::{reset_test_env, test_helper::*};
[INFO] [stdout]      |               ^^^^^^^^^^^^^^  ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]      |               |
[INFO] [stdout]      |               no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::reset_test_env`, `crate::test_helper`
[INFO] [stdout]    --> src/overlay.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 |     reset_test_env,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ no `reset_test_env` in the root
[INFO] [stdout] 315 |     test_helper::*,
[INFO] [stdout]     |     ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::reset_test_env`
[INFO] [stdout]    --> src/query.rs:491:33
[INFO] [stdout]     |
[INFO] [stdout] 491 |   use crate::{prelude::PartMut, reset_test_env};
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ no `reset_test_env` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::test_helper`
[INFO] [stdout]    --> src/reusable.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout] 266 |   use crate::test_helper::{TestWindow, split_value};
[INFO] [stdout]     |              ^^^^^^^^^^^ could not find `test_helper` in the crate root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:80:9
[INFO] [stdout]     |
[INFO] [stdout]  79 | #[cfg(feature = "test-utils")]
[INFO] [stdout]     |       ---------------------- the item is gated behind the `test-utils` feature
[INFO] [stdout]  80 | pub mod test_helper;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/svg.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]    --> src/builtin_widgets/backdrop_filter.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 |   use ribir::{core::test_helper::*, material as ribir_material, prelude::*};
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/animation/stagger.rs:224:7
[INFO] [stdout]     |
[INFO] [stdout] 224 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir`
[INFO] [stdout]    --> src/builtin_widgets/backdrop_filter.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 |   use ribir::{core::test_helper::*, material as ribir_material, prelude::*};
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/backdrop_filter.rs:103:7
[INFO] [stdout]     |
[INFO] [stdout] 103 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/margin.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/padding.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/transform_widget.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `test_helper`
[INFO] [stdout]   --> src/builtin_widgets/visibility.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 |   use test_helper::split_value;
[INFO] [stdout]    |       ^^^^^^^^^^^ use of unresolved module or unlinked crate `test_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `test_helper`, use `cargo add test_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/unconstrained_box.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:258:7
[INFO] [stdout]     |
[INFO] [stdout] 258 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/layout_box.rs:99:7
[INFO] [stdout]    |
[INFO] [stdout] 99 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/align.rs:240:7
[INFO] [stdout]     |
[INFO] [stdout] 240 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]    --> src/builtin_widgets/color_filter.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 |   use ribir::{core::test_helper::*, material as ribir_material, prelude::*};
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/fitted_box.rs:183:7
[INFO] [stdout]     |
[INFO] [stdout] 183 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir`
[INFO] [stdout]    --> src/builtin_widgets/color_filter.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 |   use ribir::{core::test_helper::*, material as ribir_material, prelude::*};
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/color_filter.rs:224:7
[INFO] [stdout]     |
[INFO] [stdout] 224 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/clip_boundary.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/global_anchor.rs:363:7
[INFO] [stdout]     |
[INFO] [stdout] 363 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/container.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:572:7
[INFO] [stdout]     |
[INFO] [stdout] 572 |   use ribir::{
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]   --> src/builtin_widgets/constrained_box.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 |   use ribir_dev_helper::*;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]    --> src/builtin_widgets/text.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |   use ribir::{core::test_helper::*, material as ribir_material, prelude::*};
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:576:7
[INFO] [stdout]     |
[INFO] [stdout] 576 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir`
[INFO] [stdout]    --> src/builtin_widgets/text.rs:139:7
[INFO] [stdout]     |
[INFO] [stdout] 139 |   use ribir::{core::test_helper::*, material as ribir_material, prelude::*};
[INFO] [stdout]     |       ^^^^^ use of unresolved module or unlinked crate `ribir`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir`, use `cargo add ribir` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/text.rs:140:7
[INFO] [stdout]     |
[INFO] [stdout] 140 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/builtin_widgets/border.rs:504:7
[INFO] [stdout]     |
[INFO] [stdout] 504 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/widget_children.rs:446:7
[INFO] [stdout]     |
[INFO] [stdout] 446 |   use ribir_dev_helper::*;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `ribir_dev_helper`
[INFO] [stdout]    --> src/widget_tree.rs:333:7
[INFO] [stdout]     |
[INFO] [stdout] 333 |   use ribir_dev_helper::widget_layout_test;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ribir_dev_helper`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `ribir_dev_helper`, use `cargo add ribir_dev_helper` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:501:12
[INFO] [stdout]     |
[INFO] [stdout] 501 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:482:12
[INFO] [stdout]     |
[INFO] [stdout] 482 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:465:12
[INFO] [stdout]     |
[INFO] [stdout] 465 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:450:12
[INFO] [stdout]     |
[INFO] [stdout] 450 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:387:12
[INFO] [stdout]     |
[INFO] [stdout] 387 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 376 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 338 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:287:12
[INFO] [stdout]     |
[INFO] [stdout] 287 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/state/stateful.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 273 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `reset_test_env` in the crate root
[INFO] [stdout]    --> src/builtin_widgets/padding.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     crate::reset_test_env!();
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ could not find `reset_test_env` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `reset_test_env` in this scope
[INFO] [stdout]    --> src/reusable.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 |     reset_test_env!();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/widget_children.rs:644:3
[INFO] [stdout]     |
[INFO] [stdout] 644 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `reset_test_env` in this scope
[INFO] [stdout]    --> src/state/part_state.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     reset_test_env!();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `mock_stack` in this scope
[INFO] [stdout]    --> src/events/dispatcher.rs:761:7
[INFO] [stdout]     |
[INFO] [stdout] 761 |       mock_stack! {
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `reset_test_env` in this scope
[INFO] [stdout]    --> src/builtin_widgets/location.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 |     reset_test_env!();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:756:5
[INFO] [stdout]     |
[INFO] [stdout] 756 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:736:5
[INFO] [stdout]     |
[INFO] [stdout] 736 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:722:5
[INFO] [stdout]     |
[INFO] [stdout] 722 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:708:5
[INFO] [stdout]     |
[INFO] [stdout] 708 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:688:5
[INFO] [stdout]     |
[INFO] [stdout] 688 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:660:5
[INFO] [stdout]     |
[INFO] [stdout] 660 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:646:5
[INFO] [stdout]     |
[INFO] [stdout] 646 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:632:5
[INFO] [stdout]     |
[INFO] [stdout] 632 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:618:5
[INFO] [stdout]     |
[INFO] [stdout] 618 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:584:5
[INFO] [stdout]     |
[INFO] [stdout] 584 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:570:5
[INFO] [stdout]     |
[INFO] [stdout] 570 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/border.rs:511:3
[INFO] [stdout]     |
[INFO] [stdout] 511 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `mock_multi` in this scope
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:943:13
[INFO] [stdout]     |
[INFO] [stdout] 943 |     let w = mock_multi! {
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `mock_multi` in this scope
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:854:39
[INFO] [stdout]     |
[INFO] [stdout] 854 |     let wnd = TestWindow::from_widget(mock_multi! {
[INFO] [stdout]     |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_image_tests` in this scope
[INFO] [stdout]    --> src/builtin_widgets/text.rs:175:3
[INFO] [stdout]     |
[INFO] [stdout] 175 |   widget_image_tests!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_image_tests` in this scope
[INFO] [stdout]    --> src/builtin_widgets/text.rs:167:3
[INFO] [stdout]     |
[INFO] [stdout] 167 |   widget_image_tests!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_image_tests` in this scope
[INFO] [stdout]    --> src/builtin_widgets/text.rs:159:3
[INFO] [stdout]     |
[INFO] [stdout] 159 |   widget_image_tests!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_test_suit` in this scope
[INFO] [stdout]    --> src/builtin_widgets/text.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 144 |   widget_test_suit!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:774:5
[INFO] [stdout]     |
[INFO] [stdout] 774 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:725:5
[INFO] [stdout]     |
[INFO] [stdout] 725 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:714:5
[INFO] [stdout]     |
[INFO] [stdout] 714 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:703:5
[INFO] [stdout]     |
[INFO] [stdout] 703 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:669:5
[INFO] [stdout]     |
[INFO] [stdout] 669 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:635:5
[INFO] [stdout]     |
[INFO] [stdout] 635 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:604:5
[INFO] [stdout]     |
[INFO] [stdout] 604 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `container` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:592:5
[INFO] [stdout]     |
[INFO] [stdout] 592 |     container! {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: have you added the `#[macro_use]` on the module/import?
[INFO] [stdout] help: consider importing this macro through its public re-export
[INFO] [stdout]     |
[INFO] [stdout] 572 +   use crate::container;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `container` in this scope
[INFO] [stdout]    --> src/builtin_widgets/smooth_layout.rs:582:5
[INFO] [stdout]     |
[INFO] [stdout] 582 |     container! {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: have you added the `#[macro_use]` on the module/import?
[INFO] [stdout] help: consider importing this macro through its public re-export
[INFO] [stdout]     |
[INFO] [stdout] 572 +   use crate::container;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]   --> src/builtin_widgets/constrained_box.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 |   widget_layout_test!(
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]   --> src/builtin_widgets/container.rs:29:3
[INFO] [stdout]    |
[INFO] [stdout] 29 |   widget_layout_test!(
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/global_anchor.rs:370:3
[INFO] [stdout]     |
[INFO] [stdout] 370 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]   --> src/builtin_widgets/clip_boundary.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     assert_widget_eq_image!(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painter_backend_eq_image_test` in this scope
[INFO] [stdout]   --> src/builtin_widgets/svg.rs:90:3
[INFO] [stdout]    |
[INFO] [stdout] 90 |   painter_backend_eq_image_test!(svgs_smoke, comparison = 0.001);
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/fitted_box.rs:274:3
[INFO] [stdout]     |
[INFO] [stdout] 274 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/fitted_box.rs:262:3
[INFO] [stdout]     |
[INFO] [stdout] 262 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:368:3
[INFO] [stdout]     |
[INFO] [stdout] 368 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:351:3
[INFO] [stdout]     |
[INFO] [stdout] 351 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:343:3
[INFO] [stdout]     |
[INFO] [stdout] 343 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:335:3
[INFO] [stdout]     |
[INFO] [stdout] 335 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:327:3
[INFO] [stdout]     |
[INFO] [stdout] 327 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:309:3
[INFO] [stdout]     |
[INFO] [stdout] 309 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:301:3
[INFO] [stdout]     |
[INFO] [stdout] 301 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:293:3
[INFO] [stdout]     |
[INFO] [stdout] 293 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/align.rs:285:3
[INFO] [stdout]     |
[INFO] [stdout] 285 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/layout_box.rs:104:3
[INFO] [stdout]     |
[INFO] [stdout] 104 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:295:3
[INFO] [stdout]     |
[INFO] [stdout] 295 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:289:3
[INFO] [stdout]     |
[INFO] [stdout] 289 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:283:3
[INFO] [stdout]     |
[INFO] [stdout] 283 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:277:3
[INFO] [stdout]     |
[INFO] [stdout] 277 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/anchor.rs:271:3
[INFO] [stdout]     |
[INFO] [stdout] 271 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]   --> src/builtin_widgets/unconstrained_box.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 68 |   widget_layout_test!(
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `reset_test_env` in this scope
[INFO] [stdout]   --> src/builtin_widgets/visibility.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     reset_test_env!();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]   --> src/builtin_widgets/transform_widget.rs:70:3
[INFO] [stdout]    |
[INFO] [stdout] 70 |   widget_layout_test!(
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `assert_widget_eq_image` in this scope
[INFO] [stdout]    --> src/builtin_widgets/padding.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_widget_eq_image!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]   --> src/builtin_widgets/padding.rs:88:3
[INFO] [stdout]    |
[INFO] [stdout] 88 |   widget_layout_test!(
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/builtin_widgets/margin.rs:162:3
[INFO] [stdout]     |
[INFO] [stdout] 162 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `reset_test_env` in this scope
[INFO] [stdout]    --> src/builtin_widgets/widget_scope.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     reset_test_env!();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `widget_layout_test` in this scope
[INFO] [stdout]    --> src/animation/stagger.rs:229:3
[INFO] [stdout]     |
[INFO] [stdout] 229 |   widget_layout_test!(
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/builtin_widgets/margin.rs:159:7
[INFO] [stdout]     |
[INFO] [stdout] 159 |   use super::*;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/builtin_widgets/padding.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 |   use super::*;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/builtin_widgets/transform_widget.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 |   use super::*;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/builtin_widgets/unconstrained_box.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |   use super::*;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/builtin_widgets/layout_box.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 |   use super::*;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/builtin_widgets/constrained_box.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 |   use super::*;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/widget_scope.rs:209:24
[INFO] [stdout]     |
[INFO] [stdout] 209 |             (0..*$read(item_cnt)).map(move |i| {
[INFO] [stdout]     |                        ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/widget_scope.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |                     *$write(build_w) += 1;
[INFO] [stdout]     |                             ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/widget_scope.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |     assert_eq!(*build_cnt.read(), 1);
[INFO] [stdout]     |                 ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/widget_scope.rs:232:6
[INFO] [stdout]     |
[INFO] [stdout] 232 |     *item_w.write() = 4;
[INFO] [stdout]     |      ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/theme.rs:250:20
[INFO] [stdout]     |
[INFO] [stdout] 250 |       let writer = writer.clone_writer();
[INFO] [stdout]     |                    ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/theme.rs:278:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |     assert_eq!(*watcher.read(), [Brightness::Light, Brightness::Dark, Brightness::Light]);
[INFO] [stdout]     |                 ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/scrollable.rs:346:40
[INFO] [stdout]     |
[INFO] [stdout] 346 |             on_performed_layout: move |ctx| {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 347 |               assert_eq!(ctx.box_size(), Some(Size::new(200., 200.)));
[INFO] [stdout]     |                          --- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 346 |             on_performed_layout: move |ctx: /* Type */| {
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/visibility.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |       visible: pipe!(*$read(visible)),
[INFO] [stdout]     |                             ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/visibility.rs:110:6
[INFO] [stdout]     |
[INFO] [stdout] 110 |     *w_visible.write() = false;
[INFO] [stdout]     |      ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/fitted_box.rs:204:21
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let w_fit = w_fit.clone_writer();
[INFO] [stdout]     |                     ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/fitted_box.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |       assert_eq!(fit.read().scale_factor.get(), expected_scale);
[INFO] [stdout]     |                  ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/mix_builtin.rs:641:15
[INFO] [stdout]     |
[INFO] [stdout] 641 |         $read(trigger);
[INFO] [stdout]     |               ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/mix_builtin.rs:646:47
[INFO] [stdout]     |
[INFO] [stdout] 646 |         on_performed_layout: move |_| *$write(w_outer_layout) +=1 ,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/mix_builtin.rs:652:17
[INFO] [stdout]     |
[INFO] [stdout] 652 |     assert_eq!(*outer_layout.read(), 1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/mix_builtin.rs:654:6
[INFO] [stdout]     |
[INFO] [stdout] 654 |     *w_trigger.write() = 1;
[INFO] [stdout]     |      ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:546:17
[INFO] [stdout]     |
[INFO] [stdout] 546 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:559:6
[INFO] [stdout]     |
[INFO] [stdout] 559 |     *w_cls.write() = BOX_200;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:588:17
[INFO] [stdout]     |
[INFO] [stdout] 588 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:612:6
[INFO] [stdout]     |
[INFO] [stdout] 612 |     *w_cls.write() = MARGIN;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:644:17
[INFO] [stdout]     |
[INFO] [stdout] 644 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:668:6
[INFO] [stdout]     |
[INFO] [stdout] 668 |     *w_cls.write() = MULTI;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:694:21
[INFO] [stdout]     |
[INFO] [stdout] 694 |             *$write(w_val) =  *Provider::of::<i32>(e).unwrap();
[INFO] [stdout]     |                     ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:701:17
[INFO] [stdout]     |
[INFO] [stdout] 701 |     assert_eq!(*r_val.read(), 0);
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:710:17
[INFO] [stdout]     |
[INFO] [stdout] 710 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:723:6
[INFO] [stdout]     |
[INFO] [stdout] 723 |     *w_cls.write() = BOX_200;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:735:17
[INFO] [stdout]     |
[INFO] [stdout] 735 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:748:6
[INFO] [stdout]     |
[INFO] [stdout] 748 |     *w_cls.write() = CLAMP_50;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:784:23
[INFO] [stdout]     |
[INFO] [stdout] 784 |       let w_trigger = w_trigger.clone_watcher();
[INFO] [stdout]     |                       ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:785:17
[INFO] [stdout]     |
[INFO] [stdout] 785 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:801:6
[INFO] [stdout]     |
[INFO] [stdout] 801 |     *w.write() = false;
[INFO] [stdout]     |      ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:803:6
[INFO] [stdout]     |
[INFO] [stdout] 803 |     *w_cls.write() = MARGIN;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:833:17
[INFO] [stdout]     |
[INFO] [stdout] 833 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:844:6
[INFO] [stdout]     |
[INFO] [stdout] 844 |     *w_cls.write() = TRACK_ID;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:862:17
[INFO] [stdout]     |
[INFO] [stdout] 862 |       let out = out.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:863:17
[INFO] [stdout]     |
[INFO] [stdout] 863 |       let cls = cls.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:875:6
[INFO] [stdout]     |
[INFO] [stdout] 875 |     *w_out.write() = PIPE_CLS;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:877:6
[INFO] [stdout]     |
[INFO] [stdout] 877 |     *w_cls.write() = INNER_PIPE_B;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:909:17
[INFO] [stdout]     |
[INFO] [stdout] 909 |       let out = out.clone_watcher();
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:910:19
[INFO] [stdout]     |
[INFO] [stdout] 910 |       let inner = inner.clone_watcher();
[INFO] [stdout]     |                   ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:927:6
[INFO] [stdout]     |
[INFO] [stdout] 927 |     *w_out.write() = OUT_PIPE_CLS_2;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:931:6
[INFO] [stdout]     |
[INFO] [stdout] 931 |     *w_inner.write() = true;
[INFO] [stdout]     |      ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:953:31
[INFO] [stdout]     |
[INFO] [stdout] 953 |           class: pipe!(*$read(r_cls)),
[INFO] [stdout]     |                               ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:956:15
[INFO] [stdout]     |
[INFO] [stdout] 956 |       *$write(w_id) = Some($clone(w.track_id()));
[INFO] [stdout]     |               ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:968:15
[INFO] [stdout]     |
[INFO] [stdout] 968 |     let id1 = r_id.read().as_ref().and_then(|w| w.get());
[INFO] [stdout]     |               ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:968:46
[INFO] [stdout]     |
[INFO] [stdout] 968 |     let id1 = r_id.read().as_ref().and_then(|w| w.get());
[INFO] [stdout]     |                                              ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 968 |     let id1 = r_id.read().as_ref().and_then(|w: /* Type */| w.get());
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:970:6
[INFO] [stdout]     |
[INFO] [stdout] 970 |     *w_cls.write() = WRAP_CLS;
[INFO] [stdout]     |      ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/class.rs:973:46
[INFO] [stdout]     |
[INFO] [stdout] 973 |     let id2 = r_id.read().as_ref().and_then(|w| w.get());
[INFO] [stdout]     |                                              ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 973 |     let id2 = r_id.read().as_ref().and_then(|w: /* Type */| w.get());
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |       let w = @ pipe!(*$read(trigger)).map(move |_| fn_widget!{ @ Void {} });
[INFO] [stdout]    |                              ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |           *$write(w_id) = Some($clone(w.track_id()));
[INFO] [stdout]    |                   ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let first_id = id.read().as_ref().map(|w| w.get());
[INFO] [stdout]    |                    ^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:56:44
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let first_id = id.read().as_ref().map(|w| w.get());
[INFO] [stdout]    |                                            ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let first_id = id.read().as_ref().map(|w: /* Type */| w.get());
[INFO] [stdout]    |                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:59:6
[INFO] [stdout]    |
[INFO] [stdout] 59 |     *w_trigger.write() = true;
[INFO] [stdout]    |      ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/builtin_widgets/track_widget_id.rs:61:45
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let second_id = id.read().as_ref().map(|w| w.get());
[INFO] [stdout]    |                                             ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let second_id = id.read().as_ref().map(|w: /* Type */| w.get());
[INFO] [stdout]    |                                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:906:10
[INFO] [stdout]     |
[INFO] [stdout] 906 |         *w_value.write() = *v;
[INFO] [stdout]     |          ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |     assert_eq!(*value.read(), 1);
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:925:19
[INFO] [stdout]     |
[INFO] [stdout] 925 |           *$write(w_value) = *v;
[INFO] [stdout]     |                   ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:934:17
[INFO] [stdout]     |
[INFO] [stdout] 934 |     assert_eq!(*value.read(), 1);
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:966:17
[INFO] [stdout]     |
[INFO] [stdout] 966 |     assert_eq!(*value1.read(), 1);
[INFO] [stdout]     |                 ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:967:17
[INFO] [stdout]     |
[INFO] [stdout] 967 |     assert_eq!(*value2.read(), 2);
[INFO] [stdout]     |                 ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:982:22
[INFO] [stdout]     |
[INFO] [stdout] 982 |         pipe!(*$read(trigger)).map(move |_| {
[INFO] [stdout]     |                      ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:977:33
[INFO] [stdout]     |
[INFO] [stdout] 977 |       providers: [Provider::new(w_value.clone_writer())],
[INFO] [stdout]     |                                 ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:991:17
[INFO] [stdout]     |
[INFO] [stdout] 991 |     assert_eq!(*value.read(), 1);
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/builtin_widgets/providers.rs:993:6
[INFO] [stdout]     |
[INFO] [stdout] 993 |     *w_trigger.write() = false;
[INFO] [stdout]     |      ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/builtin_widgets/providers.rs:1027:10
[INFO] [stdout]      |
[INFO] [stdout] 1027 |       @ {w_cnt.clone_writer()}
[INFO] [stdout]      |          ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/builtin_widgets/providers.rs:1032:16
[INFO] [stdout]      |
[INFO] [stdout] 1032 |     assert_eq!(cnt.read().layout_cnt.get(), 1);
[INFO] [stdout]      |                ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:480:44
[INFO] [stdout]     |
[INFO] [stdout] 480 |         on_pointer_down: move |e| { $write(writer).push(e.current_target()); },
[INFO] [stdout]     |                                            ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:480:32
[INFO] [stdout]     |
[INFO] [stdout] 480 |         on_pointer_down: move |e| { $write(writer).push(e.current_target()); },
[INFO] [stdout]     |                                ^                        - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 480 |         on_pointer_down: move |e: /* Type */| { $write(writer).push(e.current_target()); },
[INFO] [stdout]     |                                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:484:34
[INFO] [stdout]     |
[INFO] [stdout] 484 |           on_pointer_down: move |e| {
[INFO] [stdout]     |                                  ^
[INFO] [stdout] 485 |             $write(writer).push(e.current_target());
[INFO] [stdout]     |                                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 484 |           on_pointer_down: move |e: /* Type */| {
[INFO] [stdout]     |                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:497:16
[INFO] [stdout]     |
[INFO] [stdout] 497 |     assert_eq!(record.read().len(), 1);
[INFO] [stdout]     |                ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:511:45
[INFO] [stdout]     |
[INFO] [stdout] 511 |         on_pointer_enter: move |_| { $write(e_writer).push(2); },
[INFO] [stdout]     |                                             ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:512:45
[INFO] [stdout]     |
[INFO] [stdout] 512 |         on_pointer_leave: move |_| { $write(l_writer).push(2); },
[INFO] [stdout]     |                                             ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:526:18
[INFO] [stdout]     |
[INFO] [stdout] 526 |     assert_eq!(&*enter.read(), &[2, 1]);
[INFO] [stdout]     |                  ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:531:18
[INFO] [stdout]     |
[INFO] [stdout] 531 |     assert_eq!(&*leave.read(), &[1]);
[INFO] [stdout]     |                  ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:686:20
[INFO] [stdout]     |
[INFO] [stdout] 686 |             $write(writer).wid1 = Some(ctx.id);
[INFO] [stdout]     |                    ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:705:23
[INFO] [stdout]     |
[INFO] [stdout] 705 |     assert_eq!(hit_2, data.read().wid2);
[INFO] [stdout]     |                       ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:722:42
[INFO] [stdout]     |
[INFO] [stdout] 722 |           on_mounted: move |ctx| *$write(w_hit) = Some(ctx.id),
[INFO] [stdout]     |                                          ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:730:13
[INFO] [stdout]     |
[INFO] [stdout] 730 |     assert!(expect_hit.read().is_some());
[INFO] [stdout]     |             ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:744:42
[INFO] [stdout]     |
[INFO] [stdout] 744 |           on_mounted: move |ctx| *$write(w_hit) = Some(ctx.id),
[INFO] [stdout]     |                                          ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/dispatcher.rs:752:13
[INFO] [stdout]     |
[INFO] [stdout] 752 |     assert!(expect_hit.read().is_some());
[INFO] [stdout]     |             ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/custom_event.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |             *$write(w_parent_data) = Some(*e.data());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/custom_event.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |             *$write(w_self_data) = Some(*e.data());
[INFO] [stdout]     |                     ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/custom_event.rs:96:29
[INFO] [stdout]    |
[INFO] [stdout] 96 |           on_mounted: move |e| {
[INFO] [stdout]    |                             ^
[INFO] [stdout] 97 |             e.window().bubble_custom_event(e.widget_id(), MyCustomData(1));
[INFO] [stdout]    |             - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 96 |           on_mounted: move |e: /* Type */| {
[INFO] [stdout]    |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/custom_event.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     assert_eq!(*self_data.read(), Some(MyCustomData(1)));
[INFO] [stdout]     |                 ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/custom_event.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |     assert_eq!(*parent_data.read(), Some(MyCustomData(1)));
[INFO] [stdout]     |                 ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/pointers.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |         .subscribe(move |v| *$write(w_focused) = v);
[INFO] [stdout]     |                                     ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/pointers.rs:106:36
[INFO] [stdout]     |
[INFO] [stdout] 106 |           on_tap: move |_| *$write(w_tap) += 1,
[INFO] [stdout]     |                                    ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/pointers.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |     assert_eq!(*tap.read(), 1);
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/pointers.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |     assert!(!*focused.read());
[INFO] [stdout]     |               ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/character.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let writer = writer.clone_writer();
[INFO] [stdout]    |                    ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/character.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |     assert_eq!(*watcher.read(), test_text_case);
[INFO] [stdout]    |                 ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/character.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |           $write(writer).push_str(&char);
[INFO] [stdout]    |                  ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/character.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |     assert_eq!(&*reader.read(), "214263");
[INFO] [stdout]    |                  ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/wheel.rs:36:19
[INFO] [stdout]    |
[INFO] [stdout] 36 |           *$write(capture_receive) = (wheel.delta_x,  wheel.delta_y);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/wheel.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 37 |           $write(event_order).push("capture");
[INFO] [stdout]    |                  ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/wheel.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |             *$write(bubble_receive) = (wheel.delta_x, wheel.delta_y);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/wheel.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |     assert_eq!(*bubble_receive_reader.read(), (1., 1.));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/wheel.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |     assert_eq!(*capture_receive_reader.read(), (1., 1.));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/wheel.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |     assert_eq!(*event_order_reader.read(), ["capture", "bubble"]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/lifecycle.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |           pipe!(*$read(is_empty)).map(move |v| {
[INFO] [stdout]    |                        ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/events/lifecycle.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 |       *clean_trigger.write() = true;
[INFO] [stdout]    |        ^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:608:18
[INFO] [stdout]     |
[INFO] [stdout] 608 |       .and_then(|p| p.next_sibling(tree));
[INFO] [stdout]     |                  ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 608 |       .and_then(|p: /* Type */| p.next_sibling(tree));
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:840:24
[INFO] [stdout]     |
[INFO] [stdout] 840 |           pipe!(*$read(focused)).map(move |v| v.then(move || fn_widget!{
[INFO] [stdout]     |                        ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:843:39
[INFO] [stdout]     |
[INFO] [stdout] 843 |             on_chars: move |e| $write(input_writer).push_str(&e.chars),
[INFO] [stdout]     |                                       ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:840:44
[INFO] [stdout]     |
[INFO] [stdout] 840 |           pipe!(*$read(focused)).map(move |v| v.then(move || fn_widget!{
[INFO] [stdout]     |                                            ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 840 |           pipe!(*$read(focused)).map(move |v: /* Type */| v.then(move || fn_widget!{
[INFO] [stdout]     |                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:854:17
[INFO] [stdout]     |
[INFO] [stdout] 854 |     assert_eq!(*input.read(), "hello");
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:856:6
[INFO] [stdout]     |
[INFO] [stdout] 856 |     *focused_writer.write() = false;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:878:27
[INFO] [stdout]     |
[INFO] [stdout] 878 |             pipe! (*$read(active_idx)).map(move |idx| fn_widget!{
[INFO] [stdout]     |                           ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:881:57
[INFO] [stdout]     |
[INFO] [stdout] 881 |                 on_chars: move |e| if idx == 2 { $write(input_writer).push_str(&e.chars) },
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:893:17
[INFO] [stdout]     |
[INFO] [stdout] 893 |     assert_eq!(*input.read(), "");
[INFO] [stdout]     |                 ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:895:6
[INFO] [stdout]     |
[INFO] [stdout] 895 |     *active_idx_writer.write() += 1;
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:945:37
[INFO] [stdout]     |
[INFO] [stdout] 945 |         .subscribe(move |v| *$write(w_reason) = v);
[INFO] [stdout]     |                                     ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:954:17
[INFO] [stdout]     |
[INFO] [stdout] 954 |     assert_eq!(*reason.read(), FocusReason::AutoFocus);
[INFO] [stdout]     |                 ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/events/focus_mgr.rs:987:18
[INFO] [stdout]     |
[INFO] [stdout] 987 |       .for_each(|b| {
[INFO] [stdout]     |                  ^
[INFO] [stdout] 988 |         if b.contain_flag(MixFlags::Focus) {
[INFO] [stdout]     |            - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 987 |       .for_each(|b: /* Type */| {
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/pipe.rs:816:20
[INFO] [stdout]     |
[INFO] [stdout] 816 |       pipe!(*$read(p)).map(move |_| fn_widget!{
[INFO] [stdout]     |                    ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/pipe.rs:819:40
[INFO] [stdout]     |
[INFO] [stdout] 819 |           on_mounted: move |_| *$write(w_mnt_cnt) +=1,
[INFO] [stdout]     |                                        ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/pipe.rs:821:26
[INFO] [stdout]     |
[INFO] [stdout] 821 |             pipe!(*$read(c)).map(move |_| fn_widget!{
[INFO] [stdout]     |                          ^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/pipe.rs:834:19
[INFO] [stdout]     |
[INFO] [stdout] 834 |       assert_eq!(*mnt_cnt.read(), 2);
[INFO] [stdout]     |                   ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/pipe.rs:837:8
[INFO] [stdout]     |
[INFO] [stdout] 837 |       *w_p.write() = true;
[INFO] [stdout]     |        ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/pipe.rs:839:8
[INFO] [stdout]     |
[INFO] [stdout] 839 |       *w_c.write() = true;
[INFO] [stdout]     |        ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1150:24
[INFO] [stdout]      |
[INFO] [stdout] 1150 |           pipe!(*$read(outer)).map(move |w| fn_widget!{
[INFO] [stdout]      |                        ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1151:44
[INFO] [stdout]      |
[INFO] [stdout] 1151 |             let pipe_parent = pipe!(*$read(inner))
[INFO] [stdout]      |                                            ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1164:6
[INFO] [stdout]      |
[INFO] [stdout] 1164 |     *w_inner.write() += 1;
[INFO] [stdout]      |      ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1169:6
[INFO] [stdout]      |
[INFO] [stdout] 1169 |     *w_outer.write() += 1;
[INFO] [stdout]      |      ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1253:24
[INFO] [stdout]      |
[INFO] [stdout] 1253 |           pipe!(*$read(r1)).map(move |_| fn_widget!{
[INFO] [stdout]      |                        ^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1254:26
[INFO] [stdout]      |
[INFO] [stdout] 1254 |             pipe!(*$read(r2))
[INFO] [stdout]      |                          ^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1268:6
[INFO] [stdout]      |
[INFO] [stdout] 1268 |     *w1.write() += 1.;
[INFO] [stdout]      |      ^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1269:6
[INFO] [stdout]      |
[INFO] [stdout] 1269 |     *w2.write() += 1.;
[INFO] [stdout]      |      ^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1321:23
[INFO] [stdout]      |
[INFO] [stdout] 1321 |           pipe!($read(m_watcher);).map(move |_| {
[INFO] [stdout]      |                       ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1324:27
[INFO] [stdout]      |
[INFO] [stdout] 1324 |               pipe!($read(son_watcher);).map(|_| fn_widget! {@Void{}}).into_widget(),
[INFO] [stdout]      |                           ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1333:6
[INFO] [stdout]      |
[INFO] [stdout] 1333 |     *son_writer.write() += 1;
[INFO] [stdout]      |      ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1337:6
[INFO] [stdout]      |
[INFO] [stdout] 1337 |     *m_writer.write() += 1;
[INFO] [stdout]      |      ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1349:21
[INFO] [stdout]      |
[INFO] [stdout] 1349 |         pipe!($read(m_watcher);).map(move |_| fn_widget!{
[INFO] [stdout]      |                     ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1351:31
[INFO] [stdout]      |
[INFO] [stdout] 1351 |           let p = pipe!($read(son_watcher);).map(|_| fn_widget! { MockBox { size: Size::zero() }});
[INFO] [stdout]      |                               ^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1364:6
[INFO] [stdout]      |
[INFO] [stdout] 1364 |     *son_writer.write() += 1;
[INFO] [stdout]      |      ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/pipe.rs:1369:6
[INFO] [stdout]      |
[INFO] [stdout] 1369 |     *m_writer.write() += 1;
[INFO] [stdout]      |      ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/state/part_state.rs:216:24
[INFO] [stdout]     |
[INFO] [stdout] 216 |       let w_notifies = w_notifies.clone_writer();
[INFO] [stdout]     |                        ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/state/part_state.rs:228:18
[INFO] [stdout]     |
[INFO] [stdout] 228 |     assert_eq!(&*notifies.read(), &["pair", "first", "second"]);
[INFO] [stdout]     |                  ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:373:47
[INFO] [stdout]     |
[INFO] [stdout] 373 |         on_performed_layout: move |_| *$write(w_layout_cnt) += 1,
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:392:17
[INFO] [stdout]     |
[INFO] [stdout] 392 |     assert_eq!(*layout_cnt.read(), 1);
[INFO] [stdout]     |                 ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:480:47
[INFO] [stdout]     |
[INFO] [stdout] 480 |         on_performed_layout: move |_| *$write(w_cnt) += 1,
[INFO] [stdout]     |                                               ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:481:39
[INFO] [stdout]     |
[INFO] [stdout] 481 |         @MockBox { size: pipe!(*$read(size)) }
[INFO] [stdout]     |                                       ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:487:17
[INFO] [stdout]     |
[INFO] [stdout] 487 |     assert_eq!(*cnt.read(), 1);
[INFO] [stdout]     |                 ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree/layout_info.rs:489:6
[INFO] [stdout]     |
[INFO] [stdout] 489 |     *w_size.write() = Size::new(10., 10.);
[INFO] [stdout]     |      ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree.rs:566:45
[INFO] [stdout]     |
[INFO] [stdout] 566 |       on_performed_layout: move |_| *$write(w_layout_cnt) += 1,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/widget_tree.rs:572:17
[INFO] [stdout]     |
[INFO] [stdout] 572 |     assert_eq!(*layout_cnt.read(), 1);
[INFO] [stdout]     |                 ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/window.rs:1161:39
[INFO] [stdout]      |
[INFO] [stdout] 1161 |         on_disposed: move |_| *$write(w_disposed) = true,
[INFO] [stdout]      |                                       ^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/window.rs:1168:9
[INFO] [stdout]      |
[INFO] [stdout] 1168 |       !*disposed.read(),
[INFO] [stdout]      |         ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/reusable.rs:279:37
[INFO] [stdout]     |
[INFO] [stdout] 279 |         on_mounted: move |_| $write(w_info).push("Mounted"),
[INFO] [stdout]     |                                     ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/reusable.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |           if *$read(w_trigger) < 3 {
[INFO] [stdout]     |                     ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/reusable.rs:304:17
[INFO] [stdout]     |
[INFO] [stdout] 304 |     assert_eq!(*info.read(), vec!["Mounted"]);
[INFO] [stdout]     |                 ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/reusable.rs:306:6
[INFO] [stdout]     |
[INFO] [stdout] 306 |     *trigger.write() += 1;
[INFO] [stdout]     |      ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ribir_core` (lib test) due to 306 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bbd92ff384798a77c5200b89a7eda93f6d7ce52d30ea85d002e710c1513bfad5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bbd92ff384798a77c5200b89a7eda93f6d7ce52d30ea85d002e710c1513bfad5", kill_on_drop: false }`
[INFO] [stdout] bbd92ff384798a77c5200b89a7eda93f6d7ce52d30ea85d002e710c1513bfad5
