[INFO] fetching crate papito_dom 0.1.1...
[INFO] checking papito_dom-0.1.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate papito_dom 0.1.1 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate papito_dom 0.1.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate papito_dom 0.1.1
[INFO] finished tweaking crates.io crate papito_dom 0.1.1
[INFO] tweaked toml for crates.io crate papito_dom 0.1.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 606606a2b8f273ad79af32284e60dcbfa9298251d5ae405b69d24e2d8067ad4f
[INFO] running `Command { std: "docker" "start" "-a" "606606a2b8f273ad79af32284e60dcbfa9298251d5ae405b69d24e2d8067ad4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "606606a2b8f273ad79af32284e60dcbfa9298251d5ae405b69d24e2d8067ad4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "606606a2b8f273ad79af32284e60dcbfa9298251d5ae405b69d24e2d8067ad4f", kill_on_drop: false }`
[INFO] [stdout] 606606a2b8f273ad79af32284e60dcbfa9298251d5ae405b69d24e2d8067ad4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ff564a288ac0e943f7b18caafd3e13bef63a57402158bb0fcdc37852e84f4ec
[INFO] running `Command { std: "docker" "start" "-a" "2ff564a288ac0e943f7b18caafd3e13bef63a57402158bb0fcdc37852e84f4ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling sha1_smol v1.0.0
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling stdweb-internal-runtime v0.1.5
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling sha1 v0.6.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]     Checking discard v1.0.4
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling stdweb v0.4.20
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]    Compiling stdweb-derive v0.5.3
[INFO] [stderr]    Compiling stdweb-internal-macros v0.2.9
[INFO] [stderr]     Checking papito_dom v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<Lifecycle>>,
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<dyn Lifecycle>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<dyn Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<dyn Lifecycle>>,
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &Any;
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:26:49
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<Fn()>) -> Self;
[INFO] [stdout]    |                                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<dyn Fn()>) -> Self;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &Any {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &dyn Any {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:397:13
[INFO] [stdout]     |
[INFO] [stdout] 397 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 398 | |                 &()
[INFO] [stdout] 399 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 508 | |                 &()
[INFO] [stdout] 509 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 552 | |                 &()
[INFO] [stdout] 553 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:588:13
[INFO] [stdout]     |
[INFO] [stdout] 588 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 589 | |                 &()
[INFO] [stdout] 590 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:380:14
[INFO] [stdout]     |
[INFO] [stdout] 380 |         impl ComponentOf for Button {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:490:14
[INFO] [stdout]     |
[INFO] [stdout] 490 |         impl ComponentOf for Button {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:534:14
[INFO] [stdout]     |
[INFO] [stdout] 534 |         impl ComponentOf for Button {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:571:14
[INFO] [stdout]     |
[INFO] [stdout] 571 |         impl ComponentOf for Div {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/lib.rs:83:34
[INFO] [stdout]     |
[INFO] [stdout] 83  |         $crate::h($crate::li($n));
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 234 |         let node = h!(vec list);
[INFO] [stdout]     |                    ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `h` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<Lifecycle>>,
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<dyn Lifecycle>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<dyn Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<dyn Lifecycle>>,
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &Any;
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:26:49
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<Fn()>) -> Self;
[INFO] [stdout]    |                                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<dyn Fn()>) -> Self;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &Any {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &dyn Any {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:391:37
[INFO] [stdout]     |
[INFO] [stdout] 391 |             fn create(_: (), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 391 |             fn create(_: (), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:396:23
[INFO] [stdout]     |
[INFO] [stdout] 396 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&test::should_create_a_component::ButtonComponent, ())`
[INFO] [stdout]                found signature `fn(&mut test::should_create_a_component::ButtonComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         impl Component for ButtonComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:501:37
[INFO] [stdout]     |
[INFO] [stdout] 501 |             fn create(_: (), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 501 |             fn create(_: (), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:506:23
[INFO] [stdout]     |
[INFO] [stdout] 506 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&test::should_print_html_for_component::ButtonComponent, ())`
[INFO] [stdout]                found signature `fn(&mut test::should_print_html_for_component::ButtonComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 |         impl Component for ButtonComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:545:37
[INFO] [stdout]     |
[INFO] [stdout] 545 |             fn create(_: (), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 545 |             fn create(_: (), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:550:23
[INFO] [stdout]     |
[INFO] [stdout] 550 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&test::should_print_html_for_nested_components::ButtonComponent, ())`
[INFO] [stdout]                found signature `fn(&mut test::should_print_html_for_nested_components::ButtonComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:542:9
[INFO] [stdout]     |
[INFO] [stdout] 542 |         impl Component for ButtonComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:582:36
[INFO] [stdout]     |
[INFO] [stdout] 582 |             fn create(_:(), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 582 |             fn create(_:(), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:587:23
[INFO] [stdout]     |
[INFO] [stdout] 587 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&DivComponent, ())`
[INFO] [stdout]                found signature `fn(&mut DivComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:579:9
[INFO] [stdout]     |
[INFO] [stdout] 579 |         impl Component for DivComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0405, E0407.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `papito_dom` (lib test) due to 17 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2ff564a288ac0e943f7b18caafd3e13bef63a57402158bb0fcdc37852e84f4ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ff564a288ac0e943f7b18caafd3e13bef63a57402158bb0fcdc37852e84f4ec", kill_on_drop: false }`
[INFO] [stdout] 2ff564a288ac0e943f7b18caafd3e13bef63a57402158bb0fcdc37852e84f4ec
[INFO] checking papito_dom-0.1.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate papito_dom 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate papito_dom 0.1.1 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate papito_dom 0.1.1
[INFO] finished tweaking crates.io crate papito_dom 0.1.1
[INFO] tweaked toml for crates.io crate papito_dom 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a340ba3229ef23f606a45988cfff2642cf9b912acefac665481dccb5cb632849
[INFO] running `Command { std: "docker" "start" "-a" "a340ba3229ef23f606a45988cfff2642cf9b912acefac665481dccb5cb632849", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a340ba3229ef23f606a45988cfff2642cf9b912acefac665481dccb5cb632849", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a340ba3229ef23f606a45988cfff2642cf9b912acefac665481dccb5cb632849", kill_on_drop: false }`
[INFO] [stdout] a340ba3229ef23f606a45988cfff2642cf9b912acefac665481dccb5cb632849
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d9f0d8802fd91c6353a55c66afb092b1c90b9d3918196e69a122b88feda939f8
[INFO] running `Command { std: "docker" "start" "-a" "d9f0d8802fd91c6353a55c66afb092b1c90b9d3918196e69a122b88feda939f8", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling stdweb-internal-runtime v0.1.5
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling sha1_smol v1.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling sha1 v0.6.1
[INFO] [stderr]     Checking discard v1.0.4
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling stdweb v0.4.20
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]    Compiling stdweb-derive v0.5.3
[INFO] [stderr]    Compiling stdweb-internal-macros v0.2.9
[INFO] [stderr]     Checking papito_dom v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:397:13
[INFO] [stdout]     |
[INFO] [stdout] 397 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 398 | |                 &()
[INFO] [stdout] 399 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 508 | |                 &()
[INFO] [stdout] 509 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:551:13
[INFO] [stdout]     |
[INFO] [stdout] 551 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 552 | |                 &()
[INFO] [stdout] 553 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `props` is not a member of trait `Component`
[INFO] [stdout]    --> src/lib.rs:588:13
[INFO] [stdout]     |
[INFO] [stdout] 588 | /             fn props(&self) -> &Self::Props {
[INFO] [stdout] 589 | |                 &()
[INFO] [stdout] 590 | |             }
[INFO] [stdout]     | |_____________^ not a member of trait `Component`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:380:14
[INFO] [stdout]     |
[INFO] [stdout] 380 |         impl ComponentOf for Button {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:490:14
[INFO] [stdout]     |
[INFO] [stdout] 490 |         impl ComponentOf for Button {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:534:14
[INFO] [stdout]     |
[INFO] [stdout] 534 |         impl ComponentOf for Button {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ComponentOf` in this scope
[INFO] [stdout]    --> src/lib.rs:571:14
[INFO] [stdout]     |
[INFO] [stdout] 571 |         impl ComponentOf for Div {
[INFO] [stdout]     |              ^^^^^^^^^^^ help: a trait with a similar name exists: `Component`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | pub trait Component: Lifecycle {
[INFO] [stdout]     | ------------------------------ similarly named trait `Component` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/lib.rs:83:34
[INFO] [stdout]     |
[INFO] [stdout] 83  |         $crate::h($crate::li($n));
[INFO] [stdout]     |                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 234 |         let node = h!(vec list);
[INFO] [stdout]     |                    ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `h` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<Lifecycle>>,
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<dyn Lifecycle>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<dyn Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<dyn Lifecycle>>,
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &Any;
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:26:49
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<Fn()>) -> Self;
[INFO] [stdout]    |                                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<dyn Fn()>) -> Self;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &Any {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &dyn Any {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:391:37
[INFO] [stdout]     |
[INFO] [stdout] 391 |             fn create(_: (), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 391 |             fn create(_: (), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:396:23
[INFO] [stdout]     |
[INFO] [stdout] 396 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&test::should_create_a_component::ButtonComponent, ())`
[INFO] [stdout]                found signature `fn(&mut test::should_create_a_component::ButtonComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |         impl Component for ButtonComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:501:37
[INFO] [stdout]     |
[INFO] [stdout] 501 |             fn create(_: (), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 501 |             fn create(_: (), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:506:23
[INFO] [stdout]     |
[INFO] [stdout] 506 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&test::should_print_html_for_component::ButtonComponent, ())`
[INFO] [stdout]                found signature `fn(&mut test::should_print_html_for_component::ButtonComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 |         impl Component for ButtonComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:545:37
[INFO] [stdout]     |
[INFO] [stdout] 545 |             fn create(_: (), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 545 |             fn create(_: (), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:550:23
[INFO] [stdout]     |
[INFO] [stdout] 550 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&test::should_print_html_for_nested_components::ButtonComponent, ())`
[INFO] [stdout]                found signature `fn(&mut test::should_print_html_for_nested_components::ButtonComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:542:9
[INFO] [stdout]     |
[INFO] [stdout] 542 |         impl Component for ButtonComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:582:36
[INFO] [stdout]     |
[INFO] [stdout] 582 |             fn create(_:(), _: Box<Fn()>) -> Self {
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 582 |             fn create(_:(), _: Box<dyn Fn()>) -> Self {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `update` has an incompatible type for trait
[INFO] [stdout]    --> src/lib.rs:587:23
[INFO] [stdout]     |
[INFO] [stdout] 587 |             fn update(&mut self, props: Self::Props) {}
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       types differ in mutability
[INFO] [stdout]     |                       help: change the self-receiver type to match the trait: `&self`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/traits.rs:28:15
[INFO] [stdout]     |
[INFO] [stdout] 28  |     fn update(&self, props: Self::Props);
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     = note: expected signature `fn(&DivComponent, ())`
[INFO] [stdout]                found signature `fn(&mut DivComponent, ())`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `eq_props`
[INFO] [stdout]    --> src/lib.rs:579:9
[INFO] [stdout]     |
[INFO] [stdout] 579 |         impl Component for DivComponent {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `eq_props` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/traits.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout] 30  |     fn eq_props(&self, rhs: &Self::Props) -> bool;
[INFO] [stdout]     |     ---------------------------------------------- `eq_props` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 16 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0405, E0407.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<Lifecycle>>,
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     instance: Option<Box<dyn Lifecycle>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<dyn Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vcomponent.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<Lifecycle>>,
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     initializer: Box<Fn(*mut Props) -> Box<dyn Lifecycle>>,
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `papito_dom` (lib test) due to 17 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:48:26
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &Any;
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:26:49
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<Fn()>) -> Self;
[INFO] [stdout]    |                                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn create(props: Self::Props, notifier: Box<dyn Fn()>) -> Self;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/traits.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &Any {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn as_any(&self) -> &dyn Any {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d9f0d8802fd91c6353a55c66afb092b1c90b9d3918196e69a122b88feda939f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9f0d8802fd91c6353a55c66afb092b1c90b9d3918196e69a122b88feda939f8", kill_on_drop: false }`
[INFO] [stdout] d9f0d8802fd91c6353a55c66afb092b1c90b9d3918196e69a122b88feda939f8
