[INFO] fetching crate subscript 0.2.9...
[INFO] testing subscript-0.2.9 against beta-2020-10-09 for beta-1.48-1
[INFO] extracting crate subscript 0.2.9 into /workspace/builds/worker-0/source
[INFO] validating manifest of crates.io crate subscript 0.2.9 on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate subscript 0.2.9
[INFO] finished tweaking crates.io crate subscript 0.2.9
[INFO] tweaked toml for crates.io crate subscript 0.2.9 written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 804fbbe486ae79b082ae5f4671aec9a80676e6528cfb085991e699b296d151a3
[INFO] running `Command { std: "docker" "start" "-a" "804fbbe486ae79b082ae5f4671aec9a80676e6528cfb085991e699b296d151a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "804fbbe486ae79b082ae5f4671aec9a80676e6528cfb085991e699b296d151a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "804fbbe486ae79b082ae5f4671aec9a80676e6528cfb085991e699b296d151a3", kill_on_drop: false }`
[INFO] [stdout] 804fbbe486ae79b082ae5f4671aec9a80676e6528cfb085991e699b296d151a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e829886af9485fa1efe7f3ec33da0510532a72404cecb12be6b0065617d73ae5
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e829886af9485fa1efe7f3ec33da0510532a72404cecb12be6b0065617d73ae5", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.68
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.68
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.68
[INFO] [stderr]    Compiling wasm-bindgen v0.2.68
[INFO] [stderr]    Compiling js-sys v0.3.45
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.6
[INFO] [stderr]    Compiling serde_json v1.0.59
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling uuid v0.7.4
[INFO] [stderr]    Compiling web-sys v0.3.45
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.3.27
[INFO] [stderr]    Compiling subscript v0.2.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:89:86
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn request_animation_frame(&self, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stdout]    |                                                                                         ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stdout]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:97:88
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn set_timeout(&self, timeout: i32, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stdout]    |                                                                                           ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:98:28
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stdout]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/apis.rs:106:67
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/apis.rs:111:70
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn box_clone(&self) -> Box<NodeApi>;
[INFO] [stdout]    |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:30:60
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:35:63
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn append_child(&self, child: &NodeApi) {
[INFO] [stdout]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn remove_child(&self, child: &NodeApi) {
[INFO] [stdout]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:50:38
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:50:59
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:55:59
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:80:74
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn insert_adjacent_element(&self, position: AdjacentPosition, element: &ElementApi) {
[INFO] [stdout]    |                                                                             ^^^^^^^^^^ help: use `dyn`: `dyn ElementApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:140:29
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:284:26
[INFO] [stdout]     |
[INFO] [stdout] 284 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |     callback: Option<Rc<Fn(JsValue)>>,
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:330:23
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:341:34
[INFO] [stdout]     |
[INFO] [stdout] 341 |     pub fn new_with_fn(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings, callback: impl Fn(JsValue) + 'static) -> Self {
[INFO] [stdout]     |                                  ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_text_signal(cell: &Reactive<String>) -> Self
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn new_toggle_control(pred: &Reactive<bool>, value: View<Msg>) -> Self {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<bool>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:67:64
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn new_dynamic_control<T: 'static + PartialEq>(input: &Reactive<T>, f: impl Fn(&T) -> View<Msg> + 'static) -> Self {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/dsl.rs:104:41
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn text_cell(&mut self, value: &Reactive<String>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub rightward: &'a RefCell<Option<Box<browser::NodeApi>>>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub(crate) fn get_rightward(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let inner: &Option<Box<browser::NodeApi>> = &self.rightward.borrow();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) fn insert_child<'a>(new: &browser::NodeApi, env: &ElementEnv<'a>) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:272:58
[INFO] [stdout]     |
[INFO] [stdout] 272 |     pub(crate) fn get_first_dom_ref(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:273:81
[INFO] [stdout]     |
[INFO] [stdout] 273 |         fn check_children<Msg: 'static>(children: &Vec<Dom<Msg>>) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:274:40
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:284:44
[INFO] [stdout]     |
[INFO] [stdout] 284 |                 let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/extras.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn inspect(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:288:44
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct EventHandler<Msg>(pub(crate) Rc<EventHandlerImpl<Msg>>);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandlerImpl<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:341:29
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct OnClick<Msg>(Box<Fn() -> Msg>); // click
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:342:33
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct OnMouseDown<Msg>(Box<Fn()->Msg>); // mousedown
[INFO] [stdout]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:343:31
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub struct OnMouseUp<Msg>(Box<Fn()->Msg>); // mouseup
[INFO] [stdout]     |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:344:34
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct OnMouseEnter<Msg>(Box<Fn()->Msg>); // mouseenter
[INFO] [stdout]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:345:34
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct OnMouseLeave<Msg>(Box<Fn()->Msg>); // mouseleave
[INFO] [stdout]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:346:33
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct OnMouseOver<Msg>(Box<Fn()->Msg>); // mouseover
[INFO] [stdout]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:347:32
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct OnMouseOut<Msg>(Box<Fn()->Msg>); // mouseout
[INFO] [stdout]     |                                ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:351:29
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct OnInput<Msg>(Box<Fn(String)->Msg>); // input
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String)->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub struct OnCheck<Msg>(Box<Fn(bool)->Msg>); // click
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(bool)->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:353:30
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub struct OnSubmit<Msg>(Box<Fn()->Msg>); // submit
[INFO] [stdout]     |                              ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:357:28
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct OnBlur<Msg>(Box<Fn()->Msg>); // blur
[INFO] [stdout]     |                            ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:358:29
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct OnFocus<Msg>(Box<Fn()->Msg>); // focus
[INFO] [stdout]     |                             ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:568:56
[INFO] [stdout]     |
[INFO] [stdout] 568 |     pub(crate) fn map_msg_impl<T: 'static>(self, f: Rc<Fn(Msg)->T>) -> EventHandler<T> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Msg)->T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:573:11
[INFO] [stdout]     |
[INFO] [stdout] 573 |     f: Rc<Fn(T)->U>,
[INFO] [stdout]     |           ^^^^^^^^ help: use `dyn`: `dyn Fn(T)->U`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:602:47
[INFO] [stdout]     |
[INFO] [stdout] 602 | pub struct DynamicProducer<Msg>(pub(crate) Rc<Fn()->Option<View<Msg>>>);
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<View<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     signal_sub: Vec<Box<Fn()->Option<Msg>>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stdout]    |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let f: Box<Fn() -> Option<Msg> + 'static> = Box::new({
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Option<Msg> + 'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:66:26
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stdout]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |             move |something: Rc<Any>| -> Option<Msg> {
[INFO] [stdout]    |                                 ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/effect/nav.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct UrlParser<T>(pub Rc<Fn(Url)->T>);
[INFO] [stdout]     |                                ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Url)->T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/instances.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct SubComponent(pub(crate) Rc<SubComponentImpl>);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubComponentImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/instances.rs:99:45
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub(crate) struct SubProcess(pub(crate) Box<SubProcessImpl>);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubProcessImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner: Option<Box<ProgramImpl>> = cell.replace(None);
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/mod.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) static ROOT_PROCESS: RefCell<Option<Box<ProgramImpl>>> = {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 |     init: Rc<Fn(Option<Model>)-> Model>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Option<Model>)-> Model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |     update: Rc<Fn(&mut Model, Msg)>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Model, Msg)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:168:14
[INFO] [stdout]     |
[INFO] [stdout] 168 |     view: Rc<Fn(&Model) -> View<Msg>>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Model) -> View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/signal.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stdout]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/signal.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stdout]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) update: &'a mut FnMut(&mut Vec<ViewItem<Msg>>),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<ViewItem<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:70:52
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub(crate) fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:147:41
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:246:46
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub(crate) fn map_segment(&self, f: &mut FnMut(SegmentValue<Msg>)->SegmentValue<Msg>) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(SegmentValue<Msg>)->SegmentValue<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:275:22
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if_view: &'a mut FnMut(&mut Vec<View<Msg>>),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<View<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:276:21
[INFO] [stdout]     |
[INFO] [stdout] 276 |     if_dom: &'a mut FnMut(&mut DomSegment<Msg>),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:313:38
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub(crate) struct ToView<T, Msg>(Box<Fn(&T)->View<Msg>>);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&T)->View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec.rs:30:52
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) ops_subscribers: Rc<RefCell<Vec<Box<VecOpObserver<T>>>>>,
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VecOpObserver<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec.rs:31:55
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&Vec<T>)>>>>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Vec<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let getter: Rc<Fn()->Rc<Vec<U>>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<Vec<U>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn build(&self, f: &Fn(View<Msg>)->Vec<Dom<Msg>>);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(View<Msg>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) current: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub(crate) update: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     if_view: &'a mut FnMut(&mut HashMap<K, View<Msg>>),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut HashMap<K, View<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     if_dom: &'a mut FnMut(&mut DomSegment<K, Msg>),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<K, Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:318:41
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub(crate) struct ToView<K, V, Msg>(Box<Fn(&K, &V)->View<Msg>>);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&K, &V)->View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:31:51
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub(crate) op_subscribers: Rc<RefCell<Vec<Box<MapOpObserver<K, V>>>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MapOpObserver<K, V>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:32:55
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&HashMap<K, V>)>>>>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&HashMap<K, V>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | type Subscribers<T> = RefCell<Vec<Box<FnMut(&Rc<T>)>>>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:35:78
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) fn empty_named_subscribers<T>() -> Rc<RefCell<HashMap<String, Box<FnMut(&Rc<T>)>>>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) getter: Rc<Fn()->Rc<T>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) setter: Option<Rc<Fn(Rc<T>)>>,
[INFO] [stdout]    |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let setter: Option<Rc<Fn(Rc<T>)>> = Some(Rc::new({
[INFO] [stdout]    |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/value.rs:153:24
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/value.rs:183:24
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let getter: Rc<Fn()->Rc<(T, U)>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<(T, U)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/view_sys/runtime/css/hashids.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/view_sys/runtime/css/hashids.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 110 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 45.79s
[INFO] running `Command { std: "docker" "inspect" "e829886af9485fa1efe7f3ec33da0510532a72404cecb12be6b0065617d73ae5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e829886af9485fa1efe7f3ec33da0510532a72404cecb12be6b0065617d73ae5", kill_on_drop: false }`
[INFO] [stdout] e829886af9485fa1efe7f3ec33da0510532a72404cecb12be6b0065617d73ae5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f27bae6648c6fef94058309904c0885a83f5e29830bc9f615e0842f9037eb929
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "f27bae6648c6fef94058309904c0885a83f5e29830bc9f615e0842f9037eb929", kill_on_drop: false }`
[INFO] [stderr]    Compiling subscript v0.2.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:89:86
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn request_animation_frame(&self, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stdout]    |                                                                                         ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stdout]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:97:88
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn set_timeout(&self, timeout: i32, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stdout]    |                                                                                           ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:98:28
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stdout]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/apis.rs:106:67
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/apis.rs:111:70
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn box_clone(&self) -> Box<NodeApi>;
[INFO] [stdout]    |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:30:60
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:35:63
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn append_child(&self, child: &NodeApi) {
[INFO] [stdout]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn remove_child(&self, child: &NodeApi) {
[INFO] [stdout]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:50:38
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:50:59
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:55:59
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:80:74
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn insert_adjacent_element(&self, position: AdjacentPosition, element: &ElementApi) {
[INFO] [stdout]    |                                                                             ^^^^^^^^^^ help: use `dyn`: `dyn ElementApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:140:29
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:284:26
[INFO] [stdout]     |
[INFO] [stdout] 284 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |     callback: Option<Rc<Fn(JsValue)>>,
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:330:23
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:341:34
[INFO] [stdout]     |
[INFO] [stdout] 341 |     pub fn new_with_fn(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings, callback: impl Fn(JsValue) + 'static) -> Self {
[INFO] [stdout]     |                                  ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_text_signal(cell: &Reactive<String>) -> Self
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn new_toggle_control(pred: &Reactive<bool>, value: View<Msg>) -> Self {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<bool>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:67:64
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn new_dynamic_control<T: 'static + PartialEq>(input: &Reactive<T>, f: impl Fn(&T) -> View<Msg> + 'static) -> Self {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/dsl.rs:104:41
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn text_cell(&mut self, value: &Reactive<String>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub rightward: &'a RefCell<Option<Box<browser::NodeApi>>>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub(crate) fn get_rightward(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let inner: &Option<Box<browser::NodeApi>> = &self.rightward.borrow();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) fn insert_child<'a>(new: &browser::NodeApi, env: &ElementEnv<'a>) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:272:58
[INFO] [stdout]     |
[INFO] [stdout] 272 |     pub(crate) fn get_first_dom_ref(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:273:81
[INFO] [stdout]     |
[INFO] [stdout] 273 |         fn check_children<Msg: 'static>(children: &Vec<Dom<Msg>>) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:274:40
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:284:44
[INFO] [stdout]     |
[INFO] [stdout] 284 |                 let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/extras.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn inspect(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:288:44
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct EventHandler<Msg>(pub(crate) Rc<EventHandlerImpl<Msg>>);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandlerImpl<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:341:29
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct OnClick<Msg>(Box<Fn() -> Msg>); // click
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:342:33
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct OnMouseDown<Msg>(Box<Fn()->Msg>); // mousedown
[INFO] [stdout]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:343:31
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub struct OnMouseUp<Msg>(Box<Fn()->Msg>); // mouseup
[INFO] [stdout]     |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:344:34
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct OnMouseEnter<Msg>(Box<Fn()->Msg>); // mouseenter
[INFO] [stdout]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:345:34
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct OnMouseLeave<Msg>(Box<Fn()->Msg>); // mouseleave
[INFO] [stdout]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:346:33
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct OnMouseOver<Msg>(Box<Fn()->Msg>); // mouseover
[INFO] [stdout]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:347:32
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct OnMouseOut<Msg>(Box<Fn()->Msg>); // mouseout
[INFO] [stdout]     |                                ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:351:29
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct OnInput<Msg>(Box<Fn(String)->Msg>); // input
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String)->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub struct OnCheck<Msg>(Box<Fn(bool)->Msg>); // click
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(bool)->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:353:30
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub struct OnSubmit<Msg>(Box<Fn()->Msg>); // submit
[INFO] [stdout]     |                              ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:357:28
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct OnBlur<Msg>(Box<Fn()->Msg>); // blur
[INFO] [stdout]     |                            ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:358:29
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct OnFocus<Msg>(Box<Fn()->Msg>); // focus
[INFO] [stdout]     |                             ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:568:56
[INFO] [stdout]     |
[INFO] [stdout] 568 |     pub(crate) fn map_msg_impl<T: 'static>(self, f: Rc<Fn(Msg)->T>) -> EventHandler<T> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Msg)->T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:573:11
[INFO] [stdout]     |
[INFO] [stdout] 573 |     f: Rc<Fn(T)->U>,
[INFO] [stdout]     |           ^^^^^^^^ help: use `dyn`: `dyn Fn(T)->U`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:602:47
[INFO] [stdout]     |
[INFO] [stdout] 602 | pub struct DynamicProducer<Msg>(pub(crate) Rc<Fn()->Option<View<Msg>>>);
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<View<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     signal_sub: Vec<Box<Fn()->Option<Msg>>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stdout]    |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let f: Box<Fn() -> Option<Msg> + 'static> = Box::new({
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Option<Msg> + 'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:66:26
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stdout]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |             move |something: Rc<Any>| -> Option<Msg> {
[INFO] [stdout]    |                                 ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/effect/nav.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct UrlParser<T>(pub Rc<Fn(Url)->T>);
[INFO] [stdout]     |                                ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Url)->T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/instances.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct SubComponent(pub(crate) Rc<SubComponentImpl>);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubComponentImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/instances.rs:99:45
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub(crate) struct SubProcess(pub(crate) Box<SubProcessImpl>);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubProcessImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner: Option<Box<ProgramImpl>> = cell.replace(None);
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/mod.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) static ROOT_PROCESS: RefCell<Option<Box<ProgramImpl>>> = {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 |     init: Rc<Fn(Option<Model>)-> Model>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Option<Model>)-> Model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |     update: Rc<Fn(&mut Model, Msg)>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Model, Msg)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:168:14
[INFO] [stdout]     |
[INFO] [stdout] 168 |     view: Rc<Fn(&Model) -> View<Msg>>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Model) -> View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/signal.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stdout]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/signal.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stdout]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) update: &'a mut FnMut(&mut Vec<ViewItem<Msg>>),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<ViewItem<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:70:52
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub(crate) fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:147:41
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:246:46
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub(crate) fn map_segment(&self, f: &mut FnMut(SegmentValue<Msg>)->SegmentValue<Msg>) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(SegmentValue<Msg>)->SegmentValue<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:275:22
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if_view: &'a mut FnMut(&mut Vec<View<Msg>>),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<View<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:276:21
[INFO] [stdout]     |
[INFO] [stdout] 276 |     if_dom: &'a mut FnMut(&mut DomSegment<Msg>),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:313:38
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub(crate) struct ToView<T, Msg>(Box<Fn(&T)->View<Msg>>);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&T)->View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec.rs:30:52
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) ops_subscribers: Rc<RefCell<Vec<Box<VecOpObserver<T>>>>>,
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VecOpObserver<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec.rs:31:55
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&Vec<T>)>>>>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Vec<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let getter: Rc<Fn()->Rc<Vec<U>>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<Vec<U>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn build(&self, f: &Fn(View<Msg>)->Vec<Dom<Msg>>);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(View<Msg>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) current: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub(crate) update: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     if_view: &'a mut FnMut(&mut HashMap<K, View<Msg>>),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut HashMap<K, View<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     if_dom: &'a mut FnMut(&mut DomSegment<K, Msg>),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<K, Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:318:41
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub(crate) struct ToView<K, V, Msg>(Box<Fn(&K, &V)->View<Msg>>);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&K, &V)->View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:31:51
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub(crate) op_subscribers: Rc<RefCell<Vec<Box<MapOpObserver<K, V>>>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MapOpObserver<K, V>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:32:55
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&HashMap<K, V>)>>>>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&HashMap<K, V>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | type Subscribers<T> = RefCell<Vec<Box<FnMut(&Rc<T>)>>>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:35:78
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) fn empty_named_subscribers<T>() -> Rc<RefCell<HashMap<String, Box<FnMut(&Rc<T>)>>>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) getter: Rc<Fn()->Rc<T>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) setter: Option<Rc<Fn(Rc<T>)>>,
[INFO] [stdout]    |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let setter: Option<Rc<Fn(Rc<T>)>> = Some(Rc::new({
[INFO] [stdout]    |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/value.rs:153:24
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/value.rs:183:24
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let getter: Rc<Fn()->Rc<(T, U)>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<(T, U)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/view_sys/runtime/css/hashids.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/view_sys/runtime/css/hashids.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 110 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:89:86
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn request_animation_frame(&self, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stdout]    |                                                                                         ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stdout]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:97:88
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn set_timeout(&self, timeout: i32, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stdout]    |                                                                                           ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/apis.rs:98:28
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stdout]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/apis.rs:106:67
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/apis.rs:111:70
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn box_clone(&self) -> Box<NodeApi>;
[INFO] [stdout]    |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:30:60
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:35:63
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn append_child(&self, child: &NodeApi) {
[INFO] [stdout]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn remove_child(&self, child: &NodeApi) {
[INFO] [stdout]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:50:38
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:50:59
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stdout]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:55:59
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/browser/display.rs:80:74
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn insert_adjacent_element(&self, position: AdjacentPosition, element: &ElementApi) {
[INFO] [stdout]    |                                                                             ^^^^^^^^^^ help: use `dyn`: `dyn ElementApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:140:29
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stdout]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:284:26
[INFO] [stdout]     |
[INFO] [stdout] 284 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |     callback: Option<Rc<Fn(JsValue)>>,
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:330:23
[INFO] [stdout]     |
[INFO] [stdout] 330 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/backend/browser/display.rs:341:34
[INFO] [stdout]     |
[INFO] [stdout] 341 |     pub fn new_with_fn(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings, callback: impl Fn(JsValue) + 'static) -> Self {
[INFO] [stdout]     |                                  ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn new_text_signal(cell: &Reactive<String>) -> Self
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:60:38
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn new_toggle_control(pred: &Reactive<bool>, value: View<Msg>) -> Self {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<bool>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/dsl.rs:67:64
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn new_dynamic_control<T: 'static + PartialEq>(input: &Reactive<T>, f: impl Fn(&T) -> View<Msg> + 'static) -> Self {
[INFO] [stdout]    |                                                                ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/dsl.rs:104:41
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn text_cell(&mut self, value: &Reactive<String>) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:21:43
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub rightward: &'a RefCell<Option<Box<browser::NodeApi>>>,
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:25:54
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub(crate) fn get_rightward(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let inner: &Option<Box<browser::NodeApi>> = &self.rightward.borrow();
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/runtime/common.rs:34:38
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) fn insert_child<'a>(new: &browser::NodeApi, env: &ElementEnv<'a>) {
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:272:58
[INFO] [stdout]     |
[INFO] [stdout] 272 |     pub(crate) fn get_first_dom_ref(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:273:81
[INFO] [stdout]     |
[INFO] [stdout] 273 |         fn check_children<Msg: 'static>(children: &Vec<Dom<Msg>>) -> Option<Box<browser::NodeApi>> {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:274:40
[INFO] [stdout]     |
[INFO] [stdout] 274 |             let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/runtime/common.rs:284:44
[INFO] [stdout]     |
[INFO] [stdout] 284 |                 let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/view_sys/extras.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub(crate) fn inspect(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:288:44
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub struct EventHandler<Msg>(pub(crate) Rc<EventHandlerImpl<Msg>>);
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandlerImpl<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:341:29
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct OnClick<Msg>(Box<Fn() -> Msg>); // click
[INFO] [stdout]     |                             ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:342:33
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub struct OnMouseDown<Msg>(Box<Fn()->Msg>); // mousedown
[INFO] [stdout]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:343:31
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub struct OnMouseUp<Msg>(Box<Fn()->Msg>); // mouseup
[INFO] [stdout]     |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:344:34
[INFO] [stdout]     |
[INFO] [stdout] 344 | pub struct OnMouseEnter<Msg>(Box<Fn()->Msg>); // mouseenter
[INFO] [stdout]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:345:34
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct OnMouseLeave<Msg>(Box<Fn()->Msg>); // mouseleave
[INFO] [stdout]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:346:33
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct OnMouseOver<Msg>(Box<Fn()->Msg>); // mouseover
[INFO] [stdout]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:347:32
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct OnMouseOut<Msg>(Box<Fn()->Msg>); // mouseout
[INFO] [stdout]     |                                ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:351:29
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct OnInput<Msg>(Box<Fn(String)->Msg>); // input
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String)->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:352:29
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub struct OnCheck<Msg>(Box<Fn(bool)->Msg>); // click
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(bool)->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:353:30
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub struct OnSubmit<Msg>(Box<Fn()->Msg>); // submit
[INFO] [stdout]     |                              ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:357:28
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct OnBlur<Msg>(Box<Fn()->Msg>); // blur
[INFO] [stdout]     |                            ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:358:29
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct OnFocus<Msg>(Box<Fn()->Msg>); // focus
[INFO] [stdout]     |                             ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:568:56
[INFO] [stdout]     |
[INFO] [stdout] 568 |     pub(crate) fn map_msg_impl<T: 'static>(self, f: Rc<Fn(Msg)->T>) -> EventHandler<T> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Msg)->T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:573:11
[INFO] [stdout]     |
[INFO] [stdout] 573 |     f: Rc<Fn(T)->U>,
[INFO] [stdout]     |           ^^^^^^^^ help: use `dyn`: `dyn Fn(T)->U`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/view_sys/shared.rs:602:47
[INFO] [stdout]     |
[INFO] [stdout] 602 | pub struct DynamicProducer<Msg>(pub(crate) Rc<Fn()->Option<View<Msg>>>);
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<View<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     signal_sub: Vec<Box<Fn()->Option<Msg>>>,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stdout]    |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let f: Box<Fn() -> Option<Msg> + 'static> = Box::new({
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Option<Msg> + 'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:66:26
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stdout]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/effect/sub.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |             move |something: Rc<Any>| -> Option<Msg> {
[INFO] [stdout]    |                                 ^^^ help: use `dyn`: `dyn Any`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/effect/nav.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct UrlParser<T>(pub Rc<Fn(Url)->T>);
[INFO] [stdout]     |                                ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Url)->T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/instances.rs:22:46
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub(crate) struct SubComponent(pub(crate) Rc<SubComponentImpl>);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubComponentImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/instances.rs:99:45
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub(crate) struct SubProcess(pub(crate) Box<SubProcessImpl>);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubProcessImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let inner: Option<Box<ProgramImpl>> = cell.replace(None);
[INFO] [stdout]    |                               ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/program_sys/mod.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) static ROOT_PROCESS: RefCell<Option<Box<ProgramImpl>>> = {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 |     init: Rc<Fn(Option<Model>)-> Model>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Option<Model>)-> Model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |     update: Rc<Fn(&mut Model, Msg)>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Model, Msg)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/program_sys/mod.rs:168:14
[INFO] [stdout]     |
[INFO] [stdout] 168 |     view: Rc<Fn(&Model) -> View<Msg>>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Model) -> View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/signal.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stdout]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/signal.rs:77:43
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stdout]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) update: &'a mut FnMut(&mut Vec<ViewItem<Msg>>),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<ViewItem<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:70:52
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub(crate) fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec/view_observer.rs:74:36
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub(crate) fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:147:41
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:246:46
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub(crate) fn map_segment(&self, f: &mut FnMut(SegmentValue<Msg>)->SegmentValue<Msg>) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(SegmentValue<Msg>)->SegmentValue<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:275:22
[INFO] [stdout]     |
[INFO] [stdout] 275 |     if_view: &'a mut FnMut(&mut Vec<View<Msg>>),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<View<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:276:21
[INFO] [stdout]     |
[INFO] [stdout] 276 |     if_dom: &'a mut FnMut(&mut DomSegment<Msg>),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec/view_observer.rs:313:38
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub(crate) struct ToView<T, Msg>(Box<Fn(&T)->View<Msg>>);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&T)->View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec.rs:30:52
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub(crate) ops_subscribers: Rc<RefCell<Vec<Box<VecOpObserver<T>>>>>,
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VecOpObserver<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/vec.rs:31:55
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&Vec<T>)>>>>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Vec<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec.rs:101:24
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/vec.rs:135:24
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let getter: Rc<Fn()->Rc<Vec<U>>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<Vec<U>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn build(&self, f: &Fn(View<Msg>)->Vec<Dom<Msg>>);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(View<Msg>)->Vec<Dom<Msg>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) current: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub(crate) update: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map/view_observer.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     if_view: &'a mut FnMut(&mut HashMap<K, View<Msg>>),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut HashMap<K, View<Msg>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     if_dom: &'a mut FnMut(&mut DomSegment<K, Msg>),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<K, Msg>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/map/view_observer.rs:318:41
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub(crate) struct ToView<K, V, Msg>(Box<Fn(&K, &V)->View<Msg>>);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&K, &V)->View<Msg>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:31:51
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub(crate) op_subscribers: Rc<RefCell<Vec<Box<MapOpObserver<K, V>>>>>,
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MapOpObserver<K, V>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:32:55
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&HashMap<K, V>)>>>>,
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&HashMap<K, V>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/map.rs:80:24
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:11:39
[INFO] [stdout]    |
[INFO] [stdout] 11 | type Subscribers<T> = RefCell<Vec<Box<FnMut(&Rc<T>)>>>;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:35:78
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) fn empty_named_subscribers<T>() -> Rc<RefCell<HashMap<String, Box<FnMut(&Rc<T>)>>>> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) getter: Rc<Fn()->Rc<T>>,
[INFO] [stdout]    |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:42:34
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub(crate) setter: Option<Rc<Fn(Rc<T>)>>,
[INFO] [stdout]    |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stdout]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reactive_sys/value.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let setter: Option<Rc<Fn(Rc<T>)>> = Some(Rc::new({
[INFO] [stdout]    |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/value.rs:153:24
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reactive_sys/value.rs:183:24
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let getter: Rc<Fn()->Rc<(T, U)>> = Rc::new({
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<(T, U)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/view_sys/runtime/css/hashids.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/view_sys/runtime/css/hashids.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |         write!(f, "{}", self.description())
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 110 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.53s
[INFO] running `Command { std: "docker" "inspect" "f27bae6648c6fef94058309904c0885a83f5e29830bc9f615e0842f9037eb929", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f27bae6648c6fef94058309904c0885a83f5e29830bc9f615e0842f9037eb929", kill_on_drop: false }`
[INFO] [stdout] f27bae6648c6fef94058309904c0885a83f5e29830bc9f615e0842f9037eb929
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4b0e2bbb221a82cfd4211939b810601ceffa86f85dfc98c067f894e4a9545b97
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4b0e2bbb221a82cfd4211939b810601ceffa86f85dfc98c067f894e4a9545b97", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/apis.rs:89:86
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub fn request_animation_frame(&self, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stderr]    |                                                                                         ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[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/backend/browser/apis.rs:90:28
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stderr]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/apis.rs:97:88
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn set_timeout(&self, timeout: i32, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stderr]    |                                                                                           ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/apis.rs:98:28
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stderr]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/apis.rs:106:67
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/apis.rs:111:70
[INFO] [stderr]     |
[INFO] [stderr] 111 |     pub fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |     fn box_clone(&self) -> Box<NodeApi>;
[INFO] [stderr]    |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:30:60
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]    |                                                               ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:35:63
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:40:33
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn append_child(&self, child: &NodeApi) {
[INFO] [stderr]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:45:33
[INFO] [stderr]    |
[INFO] [stderr] 45 |     fn remove_child(&self, child: &NodeApi) {
[INFO] [stderr]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:50:38
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:50:59
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stderr]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:55:38
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:55:59
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stderr]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:80:74
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn insert_adjacent_element(&self, position: AdjacentPosition, element: &ElementApi) {
[INFO] [stderr]    |                                                                             ^^^^^^^^^^ help: use `dyn`: `dyn ElementApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:136:29
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stderr]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:140:29
[INFO] [stderr]     |
[INFO] [stderr] 140 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stderr]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:144:29
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stderr]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:284:26
[INFO] [stderr]     |
[INFO] [stderr] 284 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stderr]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:326:25
[INFO] [stderr]     |
[INFO] [stderr] 326 |     callback: Option<Rc<Fn(JsValue)>>,
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:330:23
[INFO] [stderr]     |
[INFO] [stderr] 330 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stderr]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:341:34
[INFO] [stderr]     |
[INFO] [stderr] 341 |     pub fn new_with_fn(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings, callback: impl Fn(JsValue) + 'static) -> Self {
[INFO] [stderr]     |                                  ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/dsl.rs:31:35
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn new_text_signal(cell: &Reactive<String>) -> Self
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/dsl.rs:60:38
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub fn new_toggle_control(pred: &Reactive<bool>, value: View<Msg>) -> Self {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<bool>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/dsl.rs:67:64
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn new_dynamic_control<T: 'static + PartialEq>(input: &Reactive<T>, f: impl Fn(&T) -> View<Msg> + 'static) -> Self {
[INFO] [stderr]    |                                                                ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/dsl.rs:104:41
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn text_cell(&mut self, value: &Reactive<String>) {
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:21:43
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub rightward: &'a RefCell<Option<Box<browser::NodeApi>>>,
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:25:54
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub(crate) fn get_rightward(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:26:32
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let inner: &Option<Box<browser::NodeApi>> = &self.rightward.borrow();
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:34:38
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub(crate) fn insert_child<'a>(new: &browser::NodeApi, env: &ElementEnv<'a>) {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:272:58
[INFO] [stderr]     |
[INFO] [stderr] 272 |     pub(crate) fn get_first_dom_ref(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:273:81
[INFO] [stderr]     |
[INFO] [stderr] 273 |         fn check_children<Msg: 'static>(children: &Vec<Dom<Msg>>) -> Option<Box<browser::NodeApi>> {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:274:40
[INFO] [stderr]     |
[INFO] [stderr] 274 |             let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:284:44
[INFO] [stderr]     |
[INFO] [stderr] 284 |                 let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/extras.rs:50:42
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub(crate) fn inspect(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:288:44
[INFO] [stderr]     |
[INFO] [stderr] 288 | pub struct EventHandler<Msg>(pub(crate) Rc<EventHandlerImpl<Msg>>);
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandlerImpl<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:341:29
[INFO] [stderr]     |
[INFO] [stderr] 341 | pub struct OnClick<Msg>(Box<Fn() -> Msg>); // click
[INFO] [stderr]     |                             ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:342:33
[INFO] [stderr]     |
[INFO] [stderr] 342 | pub struct OnMouseDown<Msg>(Box<Fn()->Msg>); // mousedown
[INFO] [stderr]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:343:31
[INFO] [stderr]     |
[INFO] [stderr] 343 | pub struct OnMouseUp<Msg>(Box<Fn()->Msg>); // mouseup
[INFO] [stderr]     |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:344:34
[INFO] [stderr]     |
[INFO] [stderr] 344 | pub struct OnMouseEnter<Msg>(Box<Fn()->Msg>); // mouseenter
[INFO] [stderr]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:345:34
[INFO] [stderr]     |
[INFO] [stderr] 345 | pub struct OnMouseLeave<Msg>(Box<Fn()->Msg>); // mouseleave
[INFO] [stderr]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:346:33
[INFO] [stderr]     |
[INFO] [stderr] 346 | pub struct OnMouseOver<Msg>(Box<Fn()->Msg>); // mouseover
[INFO] [stderr]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:347:32
[INFO] [stderr]     |
[INFO] [stderr] 347 | pub struct OnMouseOut<Msg>(Box<Fn()->Msg>); // mouseout
[INFO] [stderr]     |                                ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:351:29
[INFO] [stderr]     |
[INFO] [stderr] 351 | pub struct OnInput<Msg>(Box<Fn(String)->Msg>); // input
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String)->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:352:29
[INFO] [stderr]     |
[INFO] [stderr] 352 | pub struct OnCheck<Msg>(Box<Fn(bool)->Msg>); // click
[INFO] [stderr]     |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(bool)->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:353:30
[INFO] [stderr]     |
[INFO] [stderr] 353 | pub struct OnSubmit<Msg>(Box<Fn()->Msg>); // submit
[INFO] [stderr]     |                              ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:357:28
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub struct OnBlur<Msg>(Box<Fn()->Msg>); // blur
[INFO] [stderr]     |                            ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:358:29
[INFO] [stderr]     |
[INFO] [stderr] 358 | pub struct OnFocus<Msg>(Box<Fn()->Msg>); // focus
[INFO] [stderr]     |                             ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:568:56
[INFO] [stderr]     |
[INFO] [stderr] 568 |     pub(crate) fn map_msg_impl<T: 'static>(self, f: Rc<Fn(Msg)->T>) -> EventHandler<T> {
[INFO] [stderr]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Msg)->T`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:573:11
[INFO] [stderr]     |
[INFO] [stderr] 573 |     f: Rc<Fn(T)->U>,
[INFO] [stderr]     |           ^^^^^^^^ help: use `dyn`: `dyn Fn(T)->U`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:602:47
[INFO] [stderr]     |
[INFO] [stderr] 602 | pub struct DynamicProducer<Msg>(pub(crate) Rc<Fn()->Option<View<Msg>>>);
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<View<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:25:25
[INFO] [stderr]    |
[INFO] [stderr] 25 |     signal_sub: Vec<Box<Fn()->Option<Msg>>>,
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:26:30
[INFO] [stderr]    |
[INFO] [stderr] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stderr]    |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:44:20
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let f: Box<Fn() -> Option<Msg> + 'static> = Box::new({
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Option<Msg> + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:66:20
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:66:26
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stderr]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:67:33
[INFO] [stderr]    |
[INFO] [stderr] 67 |             move |something: Rc<Any>| -> Option<Msg> {
[INFO] [stderr]    |                                 ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/effect/nav.rs:113:32
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub struct UrlParser<T>(pub Rc<Fn(Url)->T>);
[INFO] [stderr]     |                                ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Url)->T`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/instances.rs:22:46
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub(crate) struct SubComponent(pub(crate) Rc<SubComponentImpl>);
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubComponentImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/instances.rs:99:45
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub(crate) struct SubProcess(pub(crate) Box<SubProcessImpl>);
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubProcessImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/mod.rs:32:31
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let inner: Option<Box<ProgramImpl>> = cell.replace(None);
[INFO] [stderr]    |                               ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/mod.rs:70:56
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub(crate) static ROOT_PROCESS: RefCell<Option<Box<ProgramImpl>>> = {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/mod.rs:166:14
[INFO] [stderr]     |
[INFO] [stderr] 166 |     init: Rc<Fn(Option<Model>)-> Model>,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Option<Model>)-> Model`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/mod.rs:167:16
[INFO] [stderr]     |
[INFO] [stderr] 167 |     update: Rc<Fn(&mut Model, Msg)>,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Model, Msg)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/mod.rs:168:14
[INFO] [stderr]     |
[INFO] [stderr] 168 |     view: Rc<Fn(&Model) -> View<Msg>>,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Model) -> View<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/signal.rs:49:43
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stderr]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/signal.rs:77:43
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stderr]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:18:43
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:35:41
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:37:25
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:43:32
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub(crate) update: &'a mut FnMut(&mut Vec<ViewItem<Msg>>),
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<ViewItem<Msg>>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:44:33
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:70:52
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub(crate) fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:74:36
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub(crate) fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:147:41
[INFO] [stderr]     |
[INFO] [stderr] 147 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:163:25
[INFO] [stderr]     |
[INFO] [stderr] 163 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:246:46
[INFO] [stderr]     |
[INFO] [stderr] 246 |     pub(crate) fn map_segment(&self, f: &mut FnMut(SegmentValue<Msg>)->SegmentValue<Msg>) {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(SegmentValue<Msg>)->SegmentValue<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:275:22
[INFO] [stderr]     |
[INFO] [stderr] 275 |     if_view: &'a mut FnMut(&mut Vec<View<Msg>>),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<View<Msg>>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:276:21
[INFO] [stderr]     |
[INFO] [stderr] 276 |     if_dom: &'a mut FnMut(&mut DomSegment<Msg>),
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:313:38
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub(crate) struct ToView<T, Msg>(Box<Fn(&T)->View<Msg>>);
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&T)->View<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec.rs:30:52
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub(crate) ops_subscribers: Rc<RefCell<Vec<Box<VecOpObserver<T>>>>>,
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VecOpObserver<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec.rs:31:55
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&Vec<T>)>>>>,
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Vec<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec.rs:101:24
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec.rs:135:24
[INFO] [stderr]     |
[INFO] [stderr] 135 |         let getter: Rc<Fn()->Rc<Vec<U>>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<Vec<U>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:18:43
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:35:41
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:37:25
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn build(&self, f: &Fn(View<Msg>)->Vec<Dom<Msg>>);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(View<Msg>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:43:33
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub(crate) current: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:44:33
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:48:32
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub(crate) update: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:49:33
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/map/view_observer.rs:280:22
[INFO] [stderr]     |
[INFO] [stderr] 280 |     if_view: &'a mut FnMut(&mut HashMap<K, View<Msg>>),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut HashMap<K, View<Msg>>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/map/view_observer.rs:281:21
[INFO] [stderr]     |
[INFO] [stderr] 281 |     if_dom: &'a mut FnMut(&mut DomSegment<K, Msg>),
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<K, Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/map/view_observer.rs:318:41
[INFO] [stderr]     |
[INFO] [stderr] 318 | pub(crate) struct ToView<K, V, Msg>(Box<Fn(&K, &V)->View<Msg>>);
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&K, &V)->View<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map.rs:31:51
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub(crate) op_subscribers: Rc<RefCell<Vec<Box<MapOpObserver<K, V>>>>>,
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MapOpObserver<K, V>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map.rs:32:55
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&HashMap<K, V>)>>>>,
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&HashMap<K, V>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map.rs:80:24
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:11:39
[INFO] [stderr]    |
[INFO] [stderr] 11 | type Subscribers<T> = RefCell<Vec<Box<FnMut(&Rc<T>)>>>;
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:35:78
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub(crate) fn empty_named_subscribers<T>() -> Rc<RefCell<HashMap<String, Box<FnMut(&Rc<T>)>>>> {
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:41:27
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub(crate) getter: Rc<Fn()->Rc<T>>,
[INFO] [stderr]    |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:42:34
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub(crate) setter: Option<Rc<Fn(Rc<T>)>>,
[INFO] [stderr]    |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:65:24
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:78:24
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:84:31
[INFO] [stderr]    |
[INFO] [stderr] 84 |         let setter: Option<Rc<Fn(Rc<T>)>> = Some(Rc::new({
[INFO] [stderr]    |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/value.rs:153:24
[INFO] [stderr]     |
[INFO] [stderr] 153 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/value.rs:183:24
[INFO] [stderr]     |
[INFO] [stderr] 183 |         let getter: Rc<Fn()->Rc<(T, U)>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<(T, U)>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/view_sys/runtime/css/hashids.rs:37:30
[INFO] [stderr]    |
[INFO] [stderr] 37 |         write!(f, "{}", self.description())
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/view_sys/runtime/css/hashids.rs:58:30
[INFO] [stderr]    |
[INFO] [stderr] 58 |         write!(f, "{}", self.description())
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 110 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/apis.rs:89:86
[INFO] [stderr]    |
[INFO] [stderr] 89 |     pub fn request_animation_frame(&self, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stderr]    |                                                                                         ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[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/backend/browser/apis.rs:90:28
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stderr]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/apis.rs:97:88
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn set_timeout(&self, timeout: i32, callback: impl FnOnce() + 'static) -> Closure<FnMut()> {
[INFO] [stderr]    |                                                                                           ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/apis.rs:98:28
[INFO] [stderr]    |
[INFO] [stderr] 98 |         let callback: Closure<FnMut()> = Closure::once(callback);
[INFO] [stderr]    |                               ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/apis.rs:106:67
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/apis.rs:111:70
[INFO] [stderr]     |
[INFO] [stderr] 111 |     pub fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]     |                                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 |     fn box_clone(&self) -> Box<NodeApi>;
[INFO] [stderr]    |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:30:60
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn add_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]    |                                                               ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:35:63
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn remove_event_listener(&self, event_name: &str, callback: &EventListenerApi) {
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventListenerApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:40:33
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn append_child(&self, child: &NodeApi) {
[INFO] [stderr]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:45:33
[INFO] [stderr]    |
[INFO] [stderr] 45 |     fn remove_child(&self, child: &NodeApi) {
[INFO] [stderr]    |                                    ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:50:38
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:50:59
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn replace_child(&self, new_child: &NodeApi, old_child: &NodeApi) {
[INFO] [stderr]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:55:38
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stderr]    |                                         ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:55:59
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn insert_before(&self, new_child: &NodeApi, ref_child: &NodeApi) {
[INFO] [stderr]    |                                                              ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/backend/browser/display.rs:80:74
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn insert_adjacent_element(&self, position: AdjacentPosition, element: &ElementApi) {
[INFO] [stderr]    |                                                                             ^^^^^^^^^^ help: use `dyn`: `dyn ElementApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:136:29
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stderr]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:140:29
[INFO] [stderr]     |
[INFO] [stderr] 140 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stderr]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:144:29
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn box_clone(&self) -> Box<NodeApi> {Box::new(self.clone())}
[INFO] [stderr]     |                                ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:284:26
[INFO] [stderr]     |
[INFO] [stderr] 284 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stderr]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:326:25
[INFO] [stderr]     |
[INFO] [stderr] 326 |     callback: Option<Rc<Fn(JsValue)>>,
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(JsValue)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:330:23
[INFO] [stderr]     |
[INFO] [stderr] 330 |     pub fn new(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings) -> Self {
[INFO] [stderr]     |                          ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/backend/browser/display.rs:341:34
[INFO] [stderr]     |
[INFO] [stderr] 341 |     pub fn new_with_fn(dom_ref: &NodeApi, event_type: &str, settings: CallbackSettings, callback: impl Fn(JsValue) + 'static) -> Self {
[INFO] [stderr]     |                                  ^^^^^^^ help: use `dyn`: `dyn NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/dsl.rs:31:35
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub fn new_text_signal(cell: &Reactive<String>) -> Self
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/dsl.rs:60:38
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub fn new_toggle_control(pred: &Reactive<bool>, value: View<Msg>) -> Self {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<bool>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/dsl.rs:67:64
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn new_dynamic_control<T: 'static + PartialEq>(input: &Reactive<T>, f: impl Fn(&T) -> View<Msg> + 'static) -> Self {
[INFO] [stderr]    |                                                                ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/dsl.rs:104:41
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn text_cell(&mut self, value: &Reactive<String>) {
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<String>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:21:43
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub rightward: &'a RefCell<Option<Box<browser::NodeApi>>>,
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:25:54
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub(crate) fn get_rightward(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:26:32
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let inner: &Option<Box<browser::NodeApi>> = &self.rightward.borrow();
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/runtime/common.rs:34:38
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub(crate) fn insert_child<'a>(new: &browser::NodeApi, env: &ElementEnv<'a>) {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:272:58
[INFO] [stderr]     |
[INFO] [stderr] 272 |     pub(crate) fn get_first_dom_ref(&self) -> Option<Box<browser::NodeApi>> {
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:273:81
[INFO] [stderr]     |
[INFO] [stderr] 273 |         fn check_children<Msg: 'static>(children: &Vec<Dom<Msg>>) -> Option<Box<browser::NodeApi>> {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:274:40
[INFO] [stderr]     |
[INFO] [stderr] 274 |             let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/runtime/common.rs:284:44
[INFO] [stderr]     |
[INFO] [stderr] 284 |                 let mut result: Option<Box<browser::NodeApi>> = None;
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn browser::NodeApi`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/view_sys/extras.rs:50:42
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub(crate) fn inspect(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:288:44
[INFO] [stderr]     |
[INFO] [stderr] 288 | pub struct EventHandler<Msg>(pub(crate) Rc<EventHandlerImpl<Msg>>);
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EventHandlerImpl<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:341:29
[INFO] [stderr]     |
[INFO] [stderr] 341 | pub struct OnClick<Msg>(Box<Fn() -> Msg>); // click
[INFO] [stderr]     |                             ^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:342:33
[INFO] [stderr]     |
[INFO] [stderr] 342 | pub struct OnMouseDown<Msg>(Box<Fn()->Msg>); // mousedown
[INFO] [stderr]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:343:31
[INFO] [stderr]     |
[INFO] [stderr] 343 | pub struct OnMouseUp<Msg>(Box<Fn()->Msg>); // mouseup
[INFO] [stderr]     |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:344:34
[INFO] [stderr]     |
[INFO] [stderr] 344 | pub struct OnMouseEnter<Msg>(Box<Fn()->Msg>); // mouseenter
[INFO] [stderr]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:345:34
[INFO] [stderr]     |
[INFO] [stderr] 345 | pub struct OnMouseLeave<Msg>(Box<Fn()->Msg>); // mouseleave
[INFO] [stderr]     |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:346:33
[INFO] [stderr]     |
[INFO] [stderr] 346 | pub struct OnMouseOver<Msg>(Box<Fn()->Msg>); // mouseover
[INFO] [stderr]     |                                 ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:347:32
[INFO] [stderr]     |
[INFO] [stderr] 347 | pub struct OnMouseOut<Msg>(Box<Fn()->Msg>); // mouseout
[INFO] [stderr]     |                                ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:351:29
[INFO] [stderr]     |
[INFO] [stderr] 351 | pub struct OnInput<Msg>(Box<Fn(String)->Msg>); // input
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String)->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:352:29
[INFO] [stderr]     |
[INFO] [stderr] 352 | pub struct OnCheck<Msg>(Box<Fn(bool)->Msg>); // click
[INFO] [stderr]     |                             ^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(bool)->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:353:30
[INFO] [stderr]     |
[INFO] [stderr] 353 | pub struct OnSubmit<Msg>(Box<Fn()->Msg>); // submit
[INFO] [stderr]     |                              ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:357:28
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub struct OnBlur<Msg>(Box<Fn()->Msg>); // blur
[INFO] [stderr]     |                            ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:358:29
[INFO] [stderr]     |
[INFO] [stderr] 358 | pub struct OnFocus<Msg>(Box<Fn()->Msg>); // focus
[INFO] [stderr]     |                             ^^^^^^^^^ help: use `dyn`: `dyn Fn()->Msg`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:568:56
[INFO] [stderr]     |
[INFO] [stderr] 568 |     pub(crate) fn map_msg_impl<T: 'static>(self, f: Rc<Fn(Msg)->T>) -> EventHandler<T> {
[INFO] [stderr]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Msg)->T`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:573:11
[INFO] [stderr]     |
[INFO] [stderr] 573 |     f: Rc<Fn(T)->U>,
[INFO] [stderr]     |           ^^^^^^^^ help: use `dyn`: `dyn Fn(T)->U`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/view_sys/shared.rs:602:47
[INFO] [stderr]     |
[INFO] [stderr] 602 | pub struct DynamicProducer<Msg>(pub(crate) Rc<Fn()->Option<View<Msg>>>);
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<View<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:25:25
[INFO] [stderr]    |
[INFO] [stderr] 25 |     signal_sub: Vec<Box<Fn()->Option<Msg>>>,
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Option<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:26:24
[INFO] [stderr]    |
[INFO] [stderr] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:26:30
[INFO] [stderr]    |
[INFO] [stderr] 26 |     mail_subs: Vec<Box<Fn(Rc<Any>)->Option<Msg>>>,
[INFO] [stderr]    |                              ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:44:20
[INFO] [stderr]    |
[INFO] [stderr] 44 |         let f: Box<Fn() -> Option<Msg> + 'static> = Box::new({
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> Option<Msg> + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:66:20
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<Any>)->Option<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:66:26
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let f: Box<Fn(Rc<Any>)->Option<Msg>> = Box::new({
[INFO] [stderr]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/effect/sub.rs:67:33
[INFO] [stderr]    |
[INFO] [stderr] 67 |             move |something: Rc<Any>| -> Option<Msg> {
[INFO] [stderr]    |                                 ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/effect/nav.rs:113:32
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub struct UrlParser<T>(pub Rc<Fn(Url)->T>);
[INFO] [stderr]     |                                ^^^^^^^^^^ help: use `dyn`: `dyn Fn(Url)->T`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/instances.rs:22:46
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub(crate) struct SubComponent(pub(crate) Rc<SubComponentImpl>);
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubComponentImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/instances.rs:99:45
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub(crate) struct SubProcess(pub(crate) Box<SubProcessImpl>);
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^ help: use `dyn`: `dyn SubProcessImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/mod.rs:32:31
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let inner: Option<Box<ProgramImpl>> = cell.replace(None);
[INFO] [stderr]    |                               ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program_sys/mod.rs:70:56
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub(crate) static ROOT_PROCESS: RefCell<Option<Box<ProgramImpl>>> = {
[INFO] [stderr]    |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn ProgramImpl`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/mod.rs:166:14
[INFO] [stderr]     |
[INFO] [stderr] 166 |     init: Rc<Fn(Option<Model>)-> Model>,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Option<Model>)-> Model`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/mod.rs:167:16
[INFO] [stderr]     |
[INFO] [stderr] 167 |     update: Rc<Fn(&mut Model, Msg)>,
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&mut Model, Msg)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program_sys/mod.rs:168:14
[INFO] [stderr]     |
[INFO] [stderr] 168 |     view: Rc<Fn(&Model) -> View<Msg>>,
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Model) -> View<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/signal.rs:49:43
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stderr]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/signal.rs:77:43
[INFO] [stderr]    |
[INFO] [stderr] 77 |     pub fn zip<U: 'static>(&self, other: &Reactive<U>) -> Formula<(T, U)>
[INFO] [stderr]    |                                           ^^^^^^^^^^^ help: use `dyn`: `dyn Reactive<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:18:43
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:35:41
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:37:25
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:43:32
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub(crate) update: &'a mut FnMut(&mut Vec<ViewItem<Msg>>),
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<ViewItem<Msg>>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:44:33
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:70:52
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub(crate) fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec/view_observer.rs:74:36
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub(crate) fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stderr]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:147:41
[INFO] [stderr]     |
[INFO] [stderr] 147 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>)) {
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:163:25
[INFO] [stderr]     |
[INFO] [stderr] 163 |     fn build(&self, f: &Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>) {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Vec<View<Msg>>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:246:46
[INFO] [stderr]     |
[INFO] [stderr] 246 |     pub(crate) fn map_segment(&self, f: &mut FnMut(SegmentValue<Msg>)->SegmentValue<Msg>) {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(SegmentValue<Msg>)->SegmentValue<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:275:22
[INFO] [stderr]     |
[INFO] [stderr] 275 |     if_view: &'a mut FnMut(&mut Vec<View<Msg>>),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Vec<View<Msg>>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:276:21
[INFO] [stderr]     |
[INFO] [stderr] 276 |     if_dom: &'a mut FnMut(&mut DomSegment<Msg>),
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec/view_observer.rs:313:38
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub(crate) struct ToView<T, Msg>(Box<Fn(&T)->View<Msg>>);
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&T)->View<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec.rs:30:52
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub(crate) ops_subscribers: Rc<RefCell<Vec<Box<VecOpObserver<T>>>>>,
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn VecOpObserver<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/vec.rs:31:55
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&Vec<T>)>>>>,
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Vec<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec.rs:101:24
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/vec.rs:135:24
[INFO] [stderr]     |
[INFO] [stderr] 135 |         let getter: Rc<Fn()->Rc<Vec<U>>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<Vec<U>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:18:43
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub(crate) struct ViewVecObserver<Msg>(Rc<ViewVecObserverApi<Msg>>);
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ViewVecObserverApi<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:35:41
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn for_each_dom_node(&self, f: &mut FnMut(&Dom<Msg>));
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:37:25
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn build(&self, f: &Fn(View<Msg>)->Vec<Dom<Msg>>);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(View<Msg>)->Vec<Dom<Msg>>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:43:33
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub(crate) current: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:44:33
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:48:32
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub(crate) update: &'a mut FnMut(&mut ViewItem<Msg>),
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut ViewItem<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map/view_observer.rs:49:33
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub(crate) removed: &'a mut FnMut(Dom<Msg>),
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(Dom<Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/map/view_observer.rs:280:22
[INFO] [stderr]     |
[INFO] [stderr] 280 |     if_view: &'a mut FnMut(&mut HashMap<K, View<Msg>>),
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut HashMap<K, View<Msg>>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/map/view_observer.rs:281:21
[INFO] [stderr]     |
[INFO] [stderr] 281 |     if_dom: &'a mut FnMut(&mut DomSegment<K, Msg>),
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut DomSegment<K, Msg>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/map/view_observer.rs:318:41
[INFO] [stderr]     |
[INFO] [stderr] 318 | pub(crate) struct ToView<K, V, Msg>(Box<Fn(&K, &V)->View<Msg>>);
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&K, &V)->View<Msg>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map.rs:31:51
[INFO] [stderr]    |
[INFO] [stderr] 31 |     pub(crate) op_subscribers: Rc<RefCell<Vec<Box<MapOpObserver<K, V>>>>>,
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MapOpObserver<K, V>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map.rs:32:55
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub(crate) change_subscribers: Rc<RefCell<Vec<Box<FnMut(&HashMap<K, V>)>>>>,
[INFO] [stderr]    |                                                       ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&HashMap<K, V>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/map.rs:80:24
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:11:39
[INFO] [stderr]    |
[INFO] [stderr] 11 | type Subscribers<T> = RefCell<Vec<Box<FnMut(&Rc<T>)>>>;
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:35:78
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub(crate) fn empty_named_subscribers<T>() -> Rc<RefCell<HashMap<String, Box<FnMut(&Rc<T>)>>>> {
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:41:27
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub(crate) getter: Rc<Fn()->Rc<T>>,
[INFO] [stderr]    |                           ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:42:34
[INFO] [stderr]    |
[INFO] [stderr] 42 |     pub(crate) setter: Option<Rc<Fn(Rc<T>)>>,
[INFO] [stderr]    |                                  ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:65:24
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:78:24
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let getter: Rc<Fn()->Rc<T>> = Rc::new({
[INFO] [stderr]    |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<T>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/reactive_sys/value.rs:84:31
[INFO] [stderr]    |
[INFO] [stderr] 84 |         let setter: Option<Rc<Fn(Rc<T>)>> = Some(Rc::new({
[INFO] [stderr]    |                               ^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc<T>)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/value.rs:153:24
[INFO] [stderr]     |
[INFO] [stderr] 153 |         let getter: Rc<Fn()->Rc<U>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<U>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/reactive_sys/value.rs:183:24
[INFO] [stderr]     |
[INFO] [stderr] 183 |         let getter: Rc<Fn()->Rc<(T, U)>> = Rc::new({
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn()->Rc<(T, U)>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/view_sys/runtime/css/hashids.rs:37:30
[INFO] [stderr]    |
[INFO] [stderr] 37 |         write!(f, "{}", self.description())
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/view_sys/runtime/css/hashids.rs:58:30
[INFO] [stderr]    |
[INFO] [stderr] 58 |         write!(f, "{}", self.description())
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 110 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/subscript-3567dcbae6a549f9
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests subscript
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test src/view_sys/macros.rs - v1 (line 374) ... FAILED
[INFO] [stdout] test src/program_sys/effect/nav.rs - url_parser (line 365) ... FAILED
[INFO] [stdout] test src/program_sys/effect/sub.rs - subs (line 134) ... FAILED
[INFO] [stdout] test src/view_sys/macros.rs - s1 (line 49) ... FAILED
[INFO] [stdout] test src/program_sys/spec.rs - program_sys::spec::Spec (line 33) ... FAILED
[INFO] [stdout] test src/program_sys/shell.rs - program_sys::shell::Shell<S>::message (line 76) ... FAILED
[INFO] [stdout] test src/program_sys/spec.rs - program_sys::spec::Spec (line 25) ... FAILED
[INFO] [stdout] test src/view_sys/macros.rs - s1 (line 56) ... FAILED
[INFO] [stdout] test src/view_sys/runtime/css/hashids.rs - view_sys::runtime::css::hashids::HashIds::with_salt (line 197) ... FAILED
[INFO] [stdout] test src/program_sys/shell.rs - program_sys::shell::Shell<S>::broadcast (line 60) ... FAILED
[INFO] [stdout] test src/view_sys/macros.rs - v1 (line 364) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 10) ... FAILED
[INFO] [stdout] test src/program_sys/shell.rs - program_sys::shell::Shell<S>::navigate (line 92) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/view_sys/macros.rs - v1 (line 374) stdout ----
[INFO] [stdout] error: expected `{`, found `=>`
[INFO] [stdout]  --> src/view_sys/macros.rs:376:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | if &bool_signal => {...};
[INFO] [stdout]   | --              ^^ expected `{`
[INFO] [stdout]   | |
[INFO] [stdout]   | this `if` expression has a condition, but no block
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/effect/nav.rs - url_parser (line 365) stdout ----
[INFO] [stdout] error: cannot find macro `url_parser` in this scope
[INFO] [stdout]  --> src/program_sys/effect/nav.rs:366:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | let url_parser: UrlParser<Page> = url_parser!{
[INFO] [stdout]   |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `UrlParser` in this scope
[INFO] [stdout]  --> src/program_sys/effect/nav.rs:366:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | let url_parser: UrlParser<Page> = url_parser!{
[INFO] [stdout]   |                 ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::UrlParser;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Page` in this scope
[INFO] [stdout]  --> src/program_sys/effect/nav.rs:366:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | let url_parser: UrlParser<Page> = url_parser!{
[INFO] [stdout]   |                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/effect/sub.rs - subs (line 134) stdout ----
[INFO] [stdout] error: cannot find macro `subs` in this scope
[INFO] [stdout]  --> src/program_sys/effect/sub.rs:135:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | let subs: Subscriptions = subs!{
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Subscriptions` in this scope
[INFO] [stdout]  --> src/program_sys/effect/sub.rs:135:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | let subs: Subscriptions = subs!{
[INFO] [stdout]   |           ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::Subscriptions;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/view_sys/macros.rs - s1 (line 49) stdout ----
[INFO] [stdout] error: cannot find macro `s1` in this scope
[INFO] [stdout]  --> src/view_sys/macros.rs:50:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | let ss: StyleList = s1!{
[INFO] [stdout]   |                     ^^
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `StyleList` in this scope
[INFO] [stdout]  --> src/view_sys/macros.rs:50:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | let ss: StyleList = s1!{
[INFO] [stdout]   |         ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::view_sys::shared::StyleList;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/spec.rs - program_sys::spec::Spec (line 33) stdout ----
[INFO] [stdout] error: cannot find macro `v1` in this scope
[INFO] [stdout]  --> src/program_sys/spec.rs:34:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | v1!{
[INFO] [stdout]   | ^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/shell.rs - program_sys::shell::Shell<S>::message (line 76) stdout ----
[INFO] [stdout] error[E0585]: found a documentation comment that doesn't document anything
[INFO] [stdout]  --> src/program_sys/shell.rs:79:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | ///         ^^^^^^^^^^^^^^^^^^^ sent a message to any component of the given type.
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: doc comments must come before what they document, maybe a comment was intended with `//`?
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sh` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:78:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.message::<SomeComponentType>(message_value);
[INFO] [stdout]   | ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `message_value` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:78:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.message::<SomeComponentType>(message_value);
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `SomeComponentType` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:78:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.message::<SomeComponentType>(message_value);
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425, E0585.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/spec.rs - program_sys::spec::Spec (line 25) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `Session` in this scope
[INFO] [stdout]  --> src/program_sys/spec.rs:28:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub session: Session,
[INFO] [stdout]   |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `AccountPage` in this scope
[INFO] [stdout]  --> src/program_sys/spec.rs:29:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub page: AccountPage,
[INFO] [stdout]   |               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/view_sys/macros.rs - s1 (line 56) stdout ----
[INFO] [stdout] error: expected type, found `"value"`
[INFO] [stdout]  --> src/view_sys/macros.rs:57:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | property_name: "value";
[INFO] [stdout]   |              - ^^^^^^^ expected type
[INFO] [stdout]   |              |
[INFO] [stdout]   |              tried to parse a type due to this
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/view_sys/runtime/css/hashids.rs - view_sys::runtime::css::hashids::HashIds::with_salt (line 197) stdout ----
[INFO] [stdout] error: expected `;`, found `HashIdsBuilder`
[INFO] [stdout]  --> src/view_sys/runtime/css/hashids.rs:198:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hashids::HashIdsBuilder
[INFO] [stdout]   |                            ^ help: add `;` here
[INFO] [stdout] 4 | HashIdsBuilder::new().salt(salt).build()
[INFO] [stdout]   | -------------- unexpected token
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hashids`
[INFO] [stdout]  --> src/view_sys/runtime/css/hashids.rs:198:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hashids::HashIdsBuilder
[INFO] [stdout]   |     ^^^^^^^ use of undeclared crate or module `hashids`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `salt` in this scope
[INFO] [stdout]  --> src/view_sys/runtime/css/hashids.rs:199:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | HashIdsBuilder::new().salt(salt).build()
[INFO] [stdout]   |                            ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/shell.rs - program_sys::shell::Shell<S>::broadcast (line 60) stdout ----
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]  --> src/program_sys/shell.rs:62:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.broadcast(SomeType(...));
[INFO] [stdout]   |                       ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.broadcast(SomeType(..));
[INFO] [stdout]   |                       ^^
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.broadcast(SomeType(..=));
[INFO] [stdout]   |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]  --> src/program_sys/shell.rs:62:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.broadcast(SomeType(...));
[INFO] [stdout]   |                       ^^^ help: use `..` instead
[INFO] [stdout]   |
[INFO] [stdout]   = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] 
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]  --> src/program_sys/shell.rs:63:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | sh.broadcast(SomeOtherType(...));
[INFO] [stdout]   |                            ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]   |
[INFO] [stdout] 5 | sh.broadcast(SomeOtherType(..));
[INFO] [stdout]   |                            ^^
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]   |
[INFO] [stdout] 5 | sh.broadcast(SomeOtherType(..=));
[INFO] [stdout]   |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]  --> src/program_sys/shell.rs:63:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | sh.broadcast(SomeOtherType(...));
[INFO] [stdout]   |                            ^^^ help: use `..` instead
[INFO] [stdout]   |
[INFO] [stdout]   = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Page`
[INFO] [stdout]  --> src/program_sys/shell.rs:64:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | sh.broadcast(UrlRequest(Page::Something));
[INFO] [stdout]   |                         ^^^^ use of undeclared type `Page`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sh` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:62:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.broadcast(SomeType(...));
[INFO] [stdout]   | ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `SomeType` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:62:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | sh.broadcast(SomeType(...));
[INFO] [stdout]   |              ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sh` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:63:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | sh.broadcast(SomeOtherType(...));
[INFO] [stdout]   | ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `SomeOtherType` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:63:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | sh.broadcast(SomeOtherType(...));
[INFO] [stdout]   |              ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sh` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:64:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | sh.broadcast(UrlRequest(Page::Something));
[INFO] [stdout]   | ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function, tuple struct or tuple variant `UrlRequest` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:64:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | sh.broadcast(UrlRequest(Page::Something));
[INFO] [stdout]   |              ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0586.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/view_sys/macros.rs - v1 (line 364) stdout ----
[INFO] [stdout] error: cannot find macro `v1` in this scope
[INFO] [stdout]  --> src/view_sys/macros.rs:365:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | let v: View<Msg> = v1!{
[INFO] [stdout]   |                    ^^
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `View` in this scope
[INFO] [stdout]  --> src/view_sys/macros.rs:365:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | let v: View<Msg> = v1!{
[INFO] [stdout]   |        ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::View;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Msg` in this scope
[INFO] [stdout]  --> src/view_sys/macros.rs:365:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | let v: View<Msg> = v1!{
[INFO] [stdout]   |             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 10) stdout ----
[INFO] [stdout] error: cannot find macro `v1` in this scope
[INFO] [stdout]   --> src/lib.rs:33:49
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn view(&self, model: &Model) -> View<Msg> {v1!{
[INFO] [stdout]    |                                                 ^^
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Msg`
[INFO] [stdout]   --> src/lib.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             Msg::NoOp => {}
[INFO] [stdout]    |             ^^^ use of undeclared type `Msg`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Msg`
[INFO] [stdout]   --> src/lib.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |             Msg::Increment => {
[INFO] [stdout]    |             ^^^ use of undeclared type `Msg`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Msg`
[INFO] [stdout]   --> src/lib.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |             Msg::Decrement => {
[INFO] [stdout]    |             ^^^ use of undeclared type `Msg`
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Spec` in this scope
[INFO] [stdout]  --> src/lib.rs:11:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Spec for AppSpec {
[INFO] [stdout]   |      ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::Spec;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `AppSpec` in this scope
[INFO] [stdout]  --> src/lib.rs:11:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | impl Spec for AppSpec {
[INFO] [stdout]   |               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Msg` in this scope
[INFO] [stdout]  --> src/lib.rs:12:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     type Msg = Msg;
[INFO] [stdout]   |                ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Model` in this scope
[INFO] [stdout]  --> src/lib.rs:13:18
[INFO] [stdout]   |
[INFO] [stdout] 5 |     type Model = Model;
[INFO] [stdout]   |                  ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Shell` in this scope
[INFO] [stdout]  --> src/lib.rs:15:25
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn init(&self, sh: &Shell<Self>) -> Init<Self> {
[INFO] [stdout]   |                         ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::Shell;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Init` in this scope
[INFO] [stdout]  --> src/lib.rs:15:41
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn init(&self, sh: &Shell<Self>) -> Init<Self> {
[INFO] [stdout]   |                                         ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::Init;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Init` in this scope
[INFO] [stdout]  --> src/lib.rs:16:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Init{
[INFO] [stdout]   |         ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 | use subscript::prelude::Init;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Model` in this scope
[INFO] [stdout]   --> src/lib.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn update(&self, model: &mut Model, msg: Msg, sh: &mut Shell<Self>) {
[INFO] [stdout]    |                                  ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Msg` in this scope
[INFO] [stdout]   --> src/lib.rs:20:46
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn update(&self, model: &mut Model, msg: Msg, sh: &mut Shell<Self>) {
[INFO] [stdout]    |                                              ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Shell` in this scope
[INFO] [stdout]   --> src/lib.rs:20:60
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn update(&self, model: &mut Model, msg: Msg, sh: &mut Shell<Self>) {
[INFO] [stdout]    |                                                            ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 2  | use subscript::prelude::Shell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Model` in this scope
[INFO] [stdout]   --> src/lib.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn view(&self, model: &Model) -> View<Msg> {v1!{
[INFO] [stdout]    |                            ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `View` in this scope
[INFO] [stdout]   --> src/lib.rs:33:38
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn view(&self, model: &Model) -> View<Msg> {v1!{
[INFO] [stdout]    |                                      ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 2  | use subscript::prelude::View;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Msg` in this scope
[INFO] [stdout]   --> src/lib.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 3  | impl Spec for AppSpec {
[INFO] [stdout]    |     - help: you might be missing a type parameter: `<Msg>`
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn view(&self, model: &Model) -> View<Msg> {v1!{
[INFO] [stdout]    |                                           ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0422, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/program_sys/shell.rs - program_sys::shell::Shell<S>::navigate (line 92) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `sh` in this scope
[INFO] [stdout]  --> src/program_sys/shell.rs:93:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | sh.navigate("/account");
[INFO] [stdout]   | ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 10)
[INFO] [stdout]     src/program_sys/effect/nav.rs - url_parser (line 365)
[INFO] [stdout]     src/program_sys/effect/sub.rs - subs (line 134)
[INFO] [stdout]     src/program_sys/shell.rs - program_sys::shell::Shell<S>::broadcast (line 60)
[INFO] [stdout]     src/program_sys/shell.rs - program_sys::shell::Shell<S>::message (line 76)
[INFO] [stdout]     src/program_sys/shell.rs - program_sys::shell::Shell<S>::navigate (line 92)
[INFO] [stdout]     src/program_sys/spec.rs - program_sys::spec::Spec (line 25)
[INFO] [stdout]     src/program_sys/spec.rs - program_sys::spec::Spec (line 33)
[INFO] [stdout]     src/view_sys/macros.rs - s1 (line 49)
[INFO] [stdout]     src/view_sys/macros.rs - s1 (line 56)
[INFO] [stdout]     src/view_sys/macros.rs - v1 (line 364)
[INFO] [stdout]     src/view_sys/macros.rs - v1 (line 374)
[INFO] [stdout]     src/view_sys/runtime/css/hashids.rs - view_sys::runtime::css::hashids::HashIds::with_salt (line 197)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "4b0e2bbb221a82cfd4211939b810601ceffa86f85dfc98c067f894e4a9545b97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b0e2bbb221a82cfd4211939b810601ceffa86f85dfc98c067f894e4a9545b97", kill_on_drop: false }`
[INFO] [stdout] 4b0e2bbb221a82cfd4211939b810601ceffa86f85dfc98c067f894e4a9545b97
