[INFO] updating cached repository https://github.com/arcturu/sketch_book
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 2e3aa1f950195bba07359f9d36037f4069ad40f8
[INFO] checking arcturu/sketch_book against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farcturu%2Fsketch_book" "/workspace/builds/worker-4/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/arcturu/sketch_book on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/arcturu/sketch_book
[INFO] removed path dependency ui from git repo https://github.com/arcturu/sketch_book
[INFO] finished tweaking git repo https://github.com/arcturu/sketch_book
[INFO] tweaked toml for git repo https://github.com/arcturu/sketch_book written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/arcturu/sketch_book already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (ui) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-4/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (ui) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 997ff15899a6dbc22d1c80386b12a7b78b5aee51336e8ec2ecae9a99d9e74d81
[INFO] running `"docker" "start" "-a" "997ff15899a6dbc22d1c80386b12a7b78b5aee51336e8ec2ecae9a99d9e74d81"`
[INFO] [stderr] warning: dependency (ui) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Checking ui v0.1.0
[INFO] [stderr]     Checking sketch_book v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Window` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:115:28
[INFO] [stderr]     |
[INFO] [stderr] 115 |             ui_window: ui::Window::new(title, width, height, has_menubar),
[INFO] [stderr]     |                            ^^^^^^ could not find `Window` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `BoxControl` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:158:29
[INFO] [stderr]     |
[INFO] [stderr] 158 |             ui_control: ui::BoxControl::new_vertical(),
[INFO] [stderr]     |                             ^^^^^^^^^^ could not find `BoxControl` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `BoxControl` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:165:29
[INFO] [stderr]     |
[INFO] [stderr] 165 |             ui_control: ui::BoxControl::new_horizontal(),
[INFO] [stderr]     |                             ^^^^^^^^^^ could not find `BoxControl` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Button` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:192:29
[INFO] [stderr]     |
[INFO] [stderr] 192 |             ui_control: ui::Button::new(text),
[INFO] [stderr]     |                             ^^^^^^ could not find `Button` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Slider` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:209:29
[INFO] [stderr]     |
[INFO] [stderr] 209 |             ui_control: ui::Slider::new(min, max),
[INFO] [stderr]     |                             ^^^^^^ could not find `Slider` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Area` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:291:30
[INFO] [stderr]     |
[INFO] [stderr] 291 |         let ui_control = ui::Area::new(Box::new(AreaWrapper::new(callbacks.clone())));
[INFO] [stderr]     |                              ^^^^ could not find `Area` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Image` in `ui`
[INFO] [stderr]    --> src/app/canvas.rs:481:29
[INFO] [stderr]     |
[INFO] [stderr] 481 |         let mut image = ui::Image::new(self.width, self.height);
[INFO] [stderr]     |                             ^^^^^ could not find `Image` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]  --> src/reactive/widget.rs:8:37
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn get_ui_control(&self) -> ui::Control;
[INFO] [stderr]   |                                     ^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Window` in crate `ui`
[INFO] [stderr]   --> src/reactive/widget.rs:96:20
[INFO] [stderr]    |
[INFO] [stderr] 96 |     ui_window: ui::Window,
[INFO] [stderr]    |                    ^^^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use reactive::widget::Window;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Window` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:101:20
[INFO] [stderr]     |
[INFO] [stderr] 101 |     ui_window: ui::Window,
[INFO] [stderr]     |                    ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Window;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Window` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:120:47
[INFO] [stderr]     |
[INFO] [stderr] 120 |     pub fn from_raw_ui_window(ui_window: &ui::Window) -> WindowHandler {
[INFO] [stderr]     |                                               ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Window;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `BoxControl` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:154:49
[INFO] [stderr]     |
[INFO] [stderr] 154 | define_widget!(Container, ContainerHandler, ui::BoxControl);
[INFO] [stderr]     |                                                 ^^^^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:64:45
[INFO] [stderr]     |
[INFO] [stderr] 64  |             fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                             ^^^^^^^ not found in `ui`
[INFO] [stderr] ...
[INFO] [stderr] 154 | define_widget!(Container, ContainerHandler, ui::BoxControl);
[INFO] [stderr]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Button` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:188:43
[INFO] [stderr]     |
[INFO] [stderr] 188 | define_widget!(Button, ButtonHandler, ui::Button);
[INFO] [stderr]     |                                           ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Button;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:64:45
[INFO] [stderr]     |
[INFO] [stderr] 64  |             fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                             ^^^^^^^ not found in `ui`
[INFO] [stderr] ...
[INFO] [stderr] 188 | define_widget!(Button, ButtonHandler, ui::Button);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Slider` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:205:43
[INFO] [stderr]     |
[INFO] [stderr] 205 | define_widget!(Slider, SliderHandler, ui::Slider);
[INFO] [stderr]     |                                           ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Slider;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:64:45
[INFO] [stderr]     |
[INFO] [stderr] 64  |             fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                             ^^^^^^^ not found in `ui`
[INFO] [stderr] ...
[INFO] [stderr] 205 | define_widget!(Slider, SliderHandler, ui::Slider);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:233:21
[INFO] [stderr]     |
[INFO] [stderr] 233 |     ui_control: ui::Area,
[INFO] [stderr]     |                     ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:238:21
[INFO] [stderr]     |
[INFO] [stderr] 238 |     ui_control: ui::Area,
[INFO] [stderr]     |                     ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:255:78
[INFO] [stderr]     |
[INFO] [stderr] 255 | impl<M> Widget<AreaHandler, M> for Area<M> { fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                                                              ^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaDrawParams` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:275:31
[INFO] [stderr]     |
[INFO] [stderr] 275 | pub type AreaDrawParams = ui::AreaDrawParams;
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaDrawParams;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaMouseEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:276:31
[INFO] [stderr]     |
[INFO] [stderr] 276 | pub type AreaMouseEvent = ui::AreaMouseEvent;
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaMouseEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaKeyEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:277:29
[INFO] [stderr]     |
[INFO] [stderr] 277 | pub type AreaKeyEvent = ui::AreaKeyEvent;
[INFO] [stderr]     |                             ^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaKeyEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0405]: cannot find trait `AreaHandler` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:316:10
[INFO] [stderr]     |
[INFO] [stderr] 316 | impl ui::AreaHandler for AreaWrapper {
[INFO] [stderr]     |          ^^^^^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:317:35
[INFO] [stderr]     |
[INFO] [stderr] 317 |     fn draw(&mut self, area: &ui::Area, area_draw_params: &ui::AreaDrawParams) {
[INFO] [stderr]     |                                   ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaDrawParams` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:317:64
[INFO] [stderr]     |
[INFO] [stderr] 317 |     fn draw(&mut self, area: &ui::Area, area_draw_params: &ui::AreaDrawParams) {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaDrawParams;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:320:42
[INFO] [stderr]     |
[INFO] [stderr] 320 |     fn mouse_event(&mut self, area: &ui::Area, area_mouse_event: &ui::AreaMouseEvent) {
[INFO] [stderr]     |                                          ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaMouseEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:320:71
[INFO] [stderr]     |
[INFO] [stderr] 320 |     fn mouse_event(&mut self, area: &ui::Area, area_mouse_event: &ui::AreaMouseEvent) {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaMouseEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:323:44
[INFO] [stderr]     |
[INFO] [stderr] 323 |     fn mouse_crossed(&mut self, area: &ui::Area, left: bool) {
[INFO] [stderr]     |                                            ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:326:42
[INFO] [stderr]     |
[INFO] [stderr] 326 |     fn drag_broken(&mut self, area: &ui::Area) {
[INFO] [stderr]     |                                          ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:329:40
[INFO] [stderr]     |
[INFO] [stderr] 329 |     fn key_event(&mut self, area: &ui::Area, area_key_event: &ui::AreaKeyEvent) -> bool {
[INFO] [stderr]     |                                        ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaKeyEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:329:67
[INFO] [stderr]     |
[INFO] [stderr] 329 |     fn key_event(&mut self, area: &ui::Area, area_key_event: &ui::AreaKeyEvent) -> bool {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaKeyEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `init` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     ui::init(ui::InitOptions).unwrap();
[INFO] [stderr]    |         ^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 5  | use reactive::init;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `InitOptions` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:10:18
[INFO] [stderr]    |
[INFO] [stderr] 10 |     ui::init(ui::InitOptions).unwrap();
[INFO] [stderr]    |                  ^^^^^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `main` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     ui::main();
[INFO] [stderr]    |         ^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 5  | use main;
[INFO] [stderr]    |
[INFO] [stderr] 5  | use reactive::main;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `quit` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     ui::quit();
[INFO] [stderr]    |         ^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 5  | use reactive::quit;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stderr]    --> src/app/canvas.rs:494:30
[INFO] [stderr]     |
[INFO] [stderr] 494 |             timestamp: time::now().to_timespec().sec,
[INFO] [stderr]     |                              ^^^ not found in `time`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Window` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:115:28
[INFO] [stderr]     |
[INFO] [stderr] 115 |             ui_window: ui::Window::new(title, width, height, has_menubar),
[INFO] [stderr]     |                            ^^^^^^ could not find `Window` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `BoxControl` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:158:29
[INFO] [stderr]     |
[INFO] [stderr] 158 |             ui_control: ui::BoxControl::new_vertical(),
[INFO] [stderr]     |                             ^^^^^^^^^^ could not find `BoxControl` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `BoxControl` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:165:29
[INFO] [stderr]     |
[INFO] [stderr] 165 |             ui_control: ui::BoxControl::new_horizontal(),
[INFO] [stderr]     |                             ^^^^^^^^^^ could not find `BoxControl` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Button` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:192:29
[INFO] [stderr]     |
[INFO] [stderr] 192 |             ui_control: ui::Button::new(text),
[INFO] [stderr]     |                             ^^^^^^ could not find `Button` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Slider` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:209:29
[INFO] [stderr]     |
[INFO] [stderr] 209 |             ui_control: ui::Slider::new(min, max),
[INFO] [stderr]     |                             ^^^^^^ could not find `Slider` in `ui`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive/widget.rs:35:27
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub model: Rc<RefCell<Model<M>>>,
[INFO] [stderr]    |                           ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:82:58
[INFO] [stderr]     |
[INFO] [stderr] 82  |             pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> $rust_type<M> {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] ...
[INFO] [stderr] 154 | define_widget!(Container, ContainerHandler, ui::BoxControl);
[INFO] [stderr]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:82:58
[INFO] [stderr]     |
[INFO] [stderr] 82  |             pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> $rust_type<M> {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] ...
[INFO] [stderr] 188 | define_widget!(Button, ButtonHandler, ui::Button);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Area` in `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:291:30
[INFO] [stderr]     |
[INFO] [stderr] 291 |         let ui_control = ui::Area::new(Box::new(AreaWrapper::new(callbacks.clone())));
[INFO] [stderr]     |                              ^^^^ could not find `Area` in `ui`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:82:58
[INFO] [stderr]     |
[INFO] [stderr] 82  |             pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> $rust_type<M> {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] ...
[INFO] [stderr] 205 | define_widget!(Slider, SliderHandler, ui::Slider);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:264:50
[INFO] [stderr]     |
[INFO] [stderr] 264 |     pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> Area<M> {
[INFO] [stderr]     |                                                  ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:305:27
[INFO] [stderr]     |
[INFO] [stderr] 305 |     callbacks: Rc<RefCell<AreaCallbacks>>,
[INFO] [stderr]     |                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn AreaCallbacks`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:309:34
[INFO] [stderr]     |
[INFO] [stderr] 309 |     fn new(callbacks: Rc<RefCell<AreaCallbacks>>) -> AreaWrapper {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn AreaCallbacks`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AreaDrawParams`, `AreaHandler`, `ButtonHandler`, `SliderHandler`, `WindowHandler`
[INFO] [stderr]  --> src/main.rs:7:32
[INFO] [stderr]   |
[INFO] [stderr] 7 | use reactive::widget::{Window, WindowHandler, Container, Button, ButtonHandler, Slider, SliderHandler, Area, AreaHandler, AreaDrawParams};
[INFO] [stderr]   |                                ^^^^^^^^^^^^^                     ^^^^^^^^^^^^^          ^^^^^^^^^^^^^        ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Component`
[INFO] [stderr]  --> src/main.rs:8:44
[INFO] [stderr]   |
[INFO] [stderr] 8 | use reactive::widget::{Model, HandlerType, Component}; // TODO move to good place
[INFO] [stderr]   |                                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AreaDrawParams`
[INFO] [stderr]  --> src/message.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use reactive::widget::{AreaDrawParams};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `message::Message`
[INFO] [stderr]  --> src/app/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use message::Message;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> src/app/canvas.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `reactive`
[INFO] [stderr]   --> src/app/canvas.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use reactive;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Config`
[INFO] [stderr]   --> src/app/canvas.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 | use app::config::{Config};
[INFO] [stderr]    |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ColorRefMut`
[INFO] [stderr]   --> src/app/canvas.rs:18:25
[INFO] [stderr]    |
[INFO] [stderr] 18 | use app::color::{Color, ColorRefMut};
[INFO] [stderr]    |                         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `app::vector::Vec2d`
[INFO] [stderr]  --> src/app/stroke.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use app::vector::Vec2d;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sub`
[INFO] [stderr]  --> src/app/stroke.rs:3:23
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ops::{Index, Sub};
[INFO] [stderr]   |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0433]: failed to resolve: could not find `Image` in `ui`
[INFO] [stderr]    --> src/app/canvas.rs:481:29
[INFO] [stderr]     |
[INFO] [stderr] 481 |         let mut image = ui::Image::new(self.width, self.height);
[INFO] [stderr]     |                             ^^^^^ could not find `Image` in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]  --> src/reactive/widget.rs:8:37
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn get_ui_control(&self) -> ui::Control;
[INFO] [stderr]   |                                     ^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Window` in crate `ui`
[INFO] [stderr]   --> src/reactive/widget.rs:96:20
[INFO] [stderr]    |
[INFO] [stderr] 96 |     ui_window: ui::Window,
[INFO] [stderr]    |                    ^^^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 1  | use reactive::widget::Window;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Window` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:101:20
[INFO] [stderr]     |
[INFO] [stderr] 101 |     ui_window: ui::Window,
[INFO] [stderr]     |                    ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Window;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Window` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:120:47
[INFO] [stderr]     |
[INFO] [stderr] 120 |     pub fn from_raw_ui_window(ui_window: &ui::Window) -> WindowHandler {
[INFO] [stderr]     |                                               ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Window;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `BoxControl` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:154:49
[INFO] [stderr]     |
[INFO] [stderr] 154 | define_widget!(Container, ContainerHandler, ui::BoxControl);
[INFO] [stderr]     |                                                 ^^^^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:64:45
[INFO] [stderr]     |
[INFO] [stderr] 64  |             fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                             ^^^^^^^ not found in `ui`
[INFO] [stderr] ...
[INFO] [stderr] 154 | define_widget!(Container, ContainerHandler, ui::BoxControl);
[INFO] [stderr]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Button` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:188:43
[INFO] [stderr]     |
[INFO] [stderr] 188 | define_widget!(Button, ButtonHandler, ui::Button);
[INFO] [stderr]     |                                           ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Button;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:64:45
[INFO] [stderr]     |
[INFO] [stderr] 64  |             fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                             ^^^^^^^ not found in `ui`
[INFO] [stderr] ...
[INFO] [stderr] 188 | define_widget!(Button, ButtonHandler, ui::Button);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Slider` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:205:43
[INFO] [stderr]     |
[INFO] [stderr] 205 | define_widget!(Slider, SliderHandler, ui::Slider);
[INFO] [stderr]     |                                           ^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Slider;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:64:45
[INFO] [stderr]     |
[INFO] [stderr] 64  |             fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                             ^^^^^^^ not found in `ui`
[INFO] [stderr] ...
[INFO] [stderr] 205 | define_widget!(Slider, SliderHandler, ui::Slider);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:233:21
[INFO] [stderr]     |
[INFO] [stderr] 233 |     ui_control: ui::Area,
[INFO] [stderr]     |                     ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:238:21
[INFO] [stderr]     |
[INFO] [stderr] 238 |     ui_control: ui::Area,
[INFO] [stderr]     |                     ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Control` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:255:78
[INFO] [stderr]     |
[INFO] [stderr] 255 | impl<M> Widget<AreaHandler, M> for Area<M> { fn get_ui_control(&self) -> ui::Control {
[INFO] [stderr]     |                                                                              ^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaDrawParams` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:275:31
[INFO] [stderr]     |
[INFO] [stderr] 275 | pub type AreaDrawParams = ui::AreaDrawParams;
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaDrawParams;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaMouseEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:276:31
[INFO] [stderr]     |
[INFO] [stderr] 276 | pub type AreaMouseEvent = ui::AreaMouseEvent;
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaMouseEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaKeyEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:277:29
[INFO] [stderr]     |
[INFO] [stderr] 277 | pub type AreaKeyEvent = ui::AreaKeyEvent;
[INFO] [stderr]     |                             ^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaKeyEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0405]: cannot find trait `AreaHandler` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:316:10
[INFO] [stderr]     |
[INFO] [stderr] 316 | impl ui::AreaHandler for AreaWrapper {
[INFO] [stderr]     |          ^^^^^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:317:35
[INFO] [stderr]     |
[INFO] [stderr] 317 |     fn draw(&mut self, area: &ui::Area, area_draw_params: &ui::AreaDrawParams) {
[INFO] [stderr]     |                                   ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaDrawParams` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:317:64
[INFO] [stderr]     |
[INFO] [stderr] 317 |     fn draw(&mut self, area: &ui::Area, area_draw_params: &ui::AreaDrawParams) {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaDrawParams;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:320:42
[INFO] [stderr]     |
[INFO] [stderr] 320 |     fn mouse_event(&mut self, area: &ui::Area, area_mouse_event: &ui::AreaMouseEvent) {
[INFO] [stderr]     |                                          ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `AreaMouseEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:320:71
[INFO] [stderr]     |
[INFO] [stderr] 320 |     fn mouse_event(&mut self, area: &ui::Area, area_mouse_event: &ui::AreaMouseEvent) {
[INFO] [stderr]     |                                                                       ^^^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaMouseEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:323:44
[INFO] [stderr]     |
[INFO] [stderr] 323 |     fn mouse_crossed(&mut self, area: &ui::Area, left: bool) {
[INFO] [stderr]     |                                            ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:326:42
[INFO] [stderr]     |
[INFO] [stderr] 326 |     fn drag_broken(&mut self, area: &ui::Area) {
[INFO] [stderr]     |                                          ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Area` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:329:40
[INFO] [stderr]     |
[INFO] [stderr] 329 |     fn key_event(&mut self, area: &ui::Area, area_key_event: &ui::AreaKeyEvent) -> bool {
[INFO] [stderr]     |                                        ^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::Area;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 37 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0405, E0412, E0425, E0433.
[INFO] [stderr] For more information about an error, try `rustc --explain E0405`.
[INFO] [stderr] error[E0412]: cannot find type `AreaKeyEvent` in crate `ui`
[INFO] [stderr]    --> src/reactive/widget.rs:329:67
[INFO] [stderr]     |
[INFO] [stderr] 329 |     fn key_event(&mut self, area: &ui::Area, area_key_event: &ui::AreaKeyEvent) -> bool {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^ not found in `ui`
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use reactive::widget::AreaKeyEvent;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `init` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     ui::init(ui::InitOptions).unwrap();
[INFO] [stderr]    |         ^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 5  | use reactive::init;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `InitOptions` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:10:18
[INFO] [stderr]    |
[INFO] [stderr] 10 |     ui::init(ui::InitOptions).unwrap();
[INFO] [stderr]    |                  ^^^^^^^^^^^ not found in `ui`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `main` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:30:9
[INFO] [stderr]    |
[INFO] [stderr] 30 |     ui::main();
[INFO] [stderr]    |         ^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 5  | use main;
[INFO] [stderr]    |
[INFO] [stderr] 5  | use reactive::main;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `quit` in crate `ui`
[INFO] [stderr]   --> src/reactive/mod.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     ui::quit();
[INFO] [stderr]    |         ^^^^ not found in `ui`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]    |
[INFO] [stderr] 5  | use reactive::quit;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `now` in crate `time`
[INFO] [stderr]    --> src/app/canvas.rs:494:30
[INFO] [stderr]     |
[INFO] [stderr] 494 |             timestamp: time::now().to_timespec().sec,
[INFO] [stderr]     |                              ^^^ not found in `time`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive/widget.rs:35:27
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub model: Rc<RefCell<Model<M>>>,
[INFO] [stderr]    |                           ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:82:58
[INFO] [stderr]     |
[INFO] [stderr] 82  |             pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> $rust_type<M> {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] ...
[INFO] [stderr] 154 | define_widget!(Container, ContainerHandler, ui::BoxControl);
[INFO] [stderr]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:82:58
[INFO] [stderr]     |
[INFO] [stderr] 82  |             pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> $rust_type<M> {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] ...
[INFO] [stderr] 188 | define_widget!(Button, ButtonHandler, ui::Button);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:82:58
[INFO] [stderr]     |
[INFO] [stderr] 82  |             pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> $rust_type<M> {
[INFO] [stderr]     |                                                          ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] ...
[INFO] [stderr] 205 | define_widget!(Slider, SliderHandler, ui::Slider);
[INFO] [stderr]     | -------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:264:50
[INFO] [stderr]     |
[INFO] [stderr] 264 |     pub fn set_model(mut self, model: Rc<RefCell<Model<M>>>) -> Area<M> {
[INFO] [stderr]     |                                                  ^^^^^^^^ help: use `dyn`: `dyn Model<M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:305:27
[INFO] [stderr]     |
[INFO] [stderr] 305 |     callbacks: Rc<RefCell<AreaCallbacks>>,
[INFO] [stderr]     |                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn AreaCallbacks`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive/widget.rs:309:34
[INFO] [stderr]     |
[INFO] [stderr] 309 |     fn new(callbacks: Rc<RefCell<AreaCallbacks>>) -> AreaWrapper {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^ help: use `dyn`: `dyn AreaCallbacks`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AreaDrawParams`, `AreaHandler`, `ButtonHandler`, `SliderHandler`, `WindowHandler`
[INFO] [stderr]  --> src/main.rs:7:32
[INFO] [stderr]   |
[INFO] [stderr] 7 | use reactive::widget::{Window, WindowHandler, Container, Button, ButtonHandler, Slider, SliderHandler, Area, AreaHandler, AreaDrawParams};
[INFO] [stderr]   |                                ^^^^^^^^^^^^^                     ^^^^^^^^^^^^^          ^^^^^^^^^^^^^        ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Component`
[INFO] [stderr]  --> src/main.rs:8:44
[INFO] [stderr]   |
[INFO] [stderr] 8 | use reactive::widget::{Model, HandlerType, Component}; // TODO move to good place
[INFO] [stderr]   |                                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AreaDrawParams`
[INFO] [stderr]  --> src/message.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use reactive::widget::{AreaDrawParams};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `message::Message`
[INFO] [stderr]  --> src/app/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use message::Message;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::error::Error`
[INFO] [stderr]  --> src/app/canvas.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::error::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `reactive`
[INFO] [stderr]   --> src/app/canvas.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use reactive;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Config`
[INFO] [stderr]   --> src/app/canvas.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 | use app::config::{Config};
[INFO] [stderr]    |                   ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ColorRefMut`
[INFO] [stderr]   --> src/app/canvas.rs:18:25
[INFO] [stderr]    |
[INFO] [stderr] 18 | use app::color::{Color, ColorRefMut};
[INFO] [stderr]    |                         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `app::vector::Vec2d`
[INFO] [stderr]  --> src/app/stroke.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use app::vector::Vec2d;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sub`
[INFO] [stderr]  --> src/app/stroke.rs:3:23
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ops::{Index, Sub};
[INFO] [stderr]   |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 37 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0405, E0412, E0425, E0433.
[INFO] [stderr] For more information about an error, try `rustc --explain E0405`.
[INFO] [stderr] error: could not compile `sketch_book`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `sketch_book`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "997ff15899a6dbc22d1c80386b12a7b78b5aee51336e8ec2ecae9a99d9e74d81"`
[INFO] running `"docker" "rm" "-f" "997ff15899a6dbc22d1c80386b12a7b78b5aee51336e8ec2ecae9a99d9e74d81"`
[INFO] [stdout] 997ff15899a6dbc22d1c80386b12a7b78b5aee51336e8ec2ecae9a99d9e74d81
