[INFO] cloning repository https://github.com/overdrivenpotato/ui-experiments [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/overdrivenpotato/ui-experiments" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foverdrivenpotato%2Fui-experiments", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foverdrivenpotato%2Fui-experiments'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 00bee4df583a1959f94b7c802a01d5c61e0e4fa9 [INFO] building overdrivenpotato/ui-experiments against try#23647e694de8d0904848ad068b2e0ec2dd098c37+target=wasm32-wasip1 for pr-149868 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foverdrivenpotato%2Fui-experiments" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/overdrivenpotato/ui-experiments [INFO] finished tweaking git repo https://github.com/overdrivenpotato/ui-experiments [INFO] tweaked toml for git repo https://github.com/overdrivenpotato/ui-experiments written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/overdrivenpotato/ui-experiments on toolchain 23647e694de8d0904848ad068b2e0ec2dd098c37 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/overdrivenpotato/ui-experiments already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b96bfd8fb7cf044a76e6b10cce154a4992dea2378a4a0ed2832785f47a5883ac [INFO] running `Command { std: "docker" "start" "-a" "b96bfd8fb7cf044a76e6b10cce154a4992dea2378a4a0ed2832785f47a5883ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b96bfd8fb7cf044a76e6b10cce154a4992dea2378a4a0ed2832785f47a5883ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b96bfd8fb7cf044a76e6b10cce154a4992dea2378a4a0ed2832785f47a5883ac", kill_on_drop: false }` [INFO] [stdout] b96bfd8fb7cf044a76e6b10cce154a4992dea2378a4a0ed2832785f47a5883ac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "build" "--frozen" "--message-format=json" "--target" "wasm32-wasip1", kill_on_drop: false }` [INFO] [stdout] 6ca952cd8f46a7c373b1efb0c2f59715d3d594503d809a8ebf7435de282881db [INFO] running `Command { std: "docker" "start" "-a" "6ca952cd8f46a7c373b1efb0c2f59715d3d594503d809a8ebf7435de282881db", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling serde v1.0.27 [INFO] [stderr] Compiling dtoa v0.4.2 [INFO] [stderr] Compiling itoa v0.3.4 [INFO] [stderr] Compiling num-traits v0.1.41 [INFO] [stderr] Compiling lazy_static v1.0.0 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling serde_derive_internals v0.19.0 [INFO] [stderr] Compiling serde_derive v1.0.27 [INFO] [stderr] Compiling serde_json v1.0.9 [INFO] [stderr] Compiling blocks v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Length` [INFO] [stdout] --> src/ui/size.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use super::{Length, Unit}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::position::Position` [INFO] [stdout] --> src/ui/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use self::position::Position; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::size::Size` [INFO] [stdout] --> src/ui/mod.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use self::size::Size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::content::Content` [INFO] [stdout] --> src/ui/mod.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use self::content::Content; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::spacing::Spacing` [INFO] [stdout] --> src/ui/mod.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use self::spacing::Spacing; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::border::Border` [INFO] [stdout] --> src/ui/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use self::border::Border; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::shadow::Shadow` [INFO] [stdout] --> src/ui/mod.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use self::shadow::Shadow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::render::Render` [INFO] [stdout] --> src/ui/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use self::render::Render; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::reactive::Reactive` [INFO] [stdout] --> src/ui/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use self::reactive::Reactive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::font::Font` [INFO] [stdout] --> src/ui/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use self::font::Font; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/block/mod.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 48 | fn group(self, G) -> Self::Walked [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: G` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/block/mod.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | fn block(self, Build, C) -> Self::Walked [INFO] [stdout] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Build` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/block/mod.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | fn block(self, Build, C) -> Self::Walked [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: C` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/block/mod.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 68 | fn walk(self, T) -> T::Walked where T: Walker, T::Message: From; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: T` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/block/mod.rs:173:31 [INFO] [stdout] | [INFO] [stdout] 173 | fn child(&mut self, C) where C: Child, Self::Message: From, M: 'static; [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: C` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/block/mod.rs:177:29 [INFO] [stdout] | [INFO] [stdout] 177 | fn consolidate(self, C) [INFO] [stdout] | ^ help: try naming the parameter or explicitly ignoring it: `_: C` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/exports.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub extern fn blocks_in_callback0(f: extern fn()) { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(missing_abi)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/exports.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | pub extern fn blocks_in_callback0(f: extern fn()) { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/exports.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub extern fn blocks_in_create_string(length: usize) -> *const u8 { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/exports.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub unsafe extern fn blocks_in_callback_event(atom: u32, type_: u32, ptr: *mut u8, len: usize) { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/web/ffi/mod.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | /// Environment imports. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | / extern { [INFO] [stdout] 48 | | fn blocks_out_println(ptr: *const c_char, len: usize); [INFO] [stdout] 49 | | fn blocks_out_defer(f: extern fn()); [INFO] [stdout] 50 | | fn blocks_out_mount_id(length: *mut [u8; 4]) -> *mut u8; [INFO] [stdout] ... | [INFO] [stdout] 60 | | fn blocks_out_inject_stylesheet(ptr: *const c_char, len: usize); [INFO] [stdout] 61 | | } [INFO] [stdout] | |_- rustdoc does not generate documentation for extern blocks [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/mod.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/mod.rs:49:28 [INFO] [stdout] | [INFO] [stdout] 49 | fn blocks_out_defer(f: extern fn()); [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/ffi/mod.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn defer(f: extern fn()) { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Block` and `Child` [INFO] [stdout] --> src/web/atom.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use block::{Block, Child}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/web/mod.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 333 | extern fn trigger() { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | fn new(Reactor) -> Self; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Reactor` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stdout] --> src/lib.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | fn reduce(&mut self, Self::Message); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Self::Message` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `conservative_impl_trait` has been stable since 1.26.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(conservative_impl_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred [INFO] [stdout] --> src/web/ffi/events.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / lazy_static! { [INFO] [stdout] 11 | | static ref EVENTS: Mutex>> = { [INFO] [stdout] 12 | | Mutex::new(RefCell::new(HashMap::new())) [INFO] [stdout] 13 | | }; [INFO] [stdout] 14 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (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/reactor.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | update: Box>, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 | update: Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reactor.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | update: Box>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | update: Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:34:28 [INFO] [stdout] | [INFO] [stdout] 34 | event_handler: Box>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | event_handler: Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | events: Box>, [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 | events: Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | fn clone(&self) -> Box>; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 24 | fn clone(&self) -> Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reactor.rs:11:25 [INFO] [stdout] | [INFO] [stdout] 11 | fn wrap(update: Box>) -> 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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | fn wrap(update: Box>) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reactor.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | fn clone(&self) -> Box> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | fn clone(&self) -> Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:251:28 [INFO] [stdout] | [INFO] [stdout] 251 | fn clone(&self) -> Box> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 251 | fn clone(&self) -> Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:267:28 [INFO] [stdout] | [INFO] [stdout] 267 | fn clone(&self) -> Box> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 267 | fn clone(&self) -> Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | impl Update for Box> where M: Send + 'static { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | impl Update for Box> where M: Send + 'static { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:34:28 [INFO] [stdout] | [INFO] [stdout] 34 | fn clone(&self) -> Box> { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | fn clone(&self) -> Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/ffi/events.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | type Callback = Box; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 | type Callback = Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:317:36 [INFO] [stdout] | [INFO] [stdout] 317 | static mut APP: Option>> = None; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 | static mut APP: Option>> = None; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:318:36 [INFO] [stdout] | [INFO] [stdout] 318 | static mut TRIGGER: Option> = None; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 318 | static mut TRIGGER: Option> = None; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/web/mod.rs:268:45 [INFO] [stdout] | [INFO] [stdout] 268 | Box::new(Clone::clone(self)) as Box> [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 268 | Box::new(Clone::clone(self)) as Box> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_handler` [INFO] [stdout] --> src/web/atom.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | event_handler, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `event_handler: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `a` and `b` are never read [INFO] [stdout] --> src/ui/mod.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 99 | pub struct Double { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 100 | a: T, [INFO] [stdout] | ^ [INFO] [stdout] 101 | b: T, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Double` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ui/render.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Angle(f32); [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Angle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `registered_events` is never read [INFO] [stdout] --> src/web/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 22 | Element { [INFO] [stdout] | ------- field in this variant [INFO] [stdout] ... [INFO] [stdout] 25 | registered_events: HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blocks_out_delete_event` is never used [INFO] [stdout] --> src/web/ffi/mod.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | fn blocks_out_delete_event(atom: u32, type_: u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/web/mod.rs:322:72 [INFO] [stdout] | [INFO] [stdout] 322 | let app: Option>> = mem::replace(mem::transmute(&mut APP), None); [INFO] [stdout] | ^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 322 | let app: Option>> = mem::replace(mem::transmute(&raw mut APP), None); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/web/mod.rs:335:32 [INFO] [stdout] | [INFO] [stdout] 335 | match mem::replace(&mut TRIGGER, None) { [INFO] [stdout] | ^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 335 | match mem::replace(&raw mut TRIGGER, None) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/web/ffi/mod.rs:126:14 [INFO] [stdout] | [INFO] [stdout] 126 | #[derive(Serialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `CreateElement` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_CreateElement` and up 2 bodies [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/web/ffi/mod.rs:179:14 [INFO] [stdout] | [INFO] [stdout] 179 | #[derive(Serialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `TextToElement` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_TextToElement` and up 2 bodies [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/web/ffi/mod.rs:215:14 [INFO] [stdout] | [INFO] [stdout] 215 | #[derive(Serialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `UpdateElement` is not local [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UpdateElement` and up 2 bodies [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/web/atom.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Data` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Data` and up 2 bodies [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/web/atom.rs:89:30 [INFO] [stdout] | [INFO] [stdout] 89 | #[derive(Deserialize)] [INFO] [stdout] | -^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Data` is not local [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Data` and up 2 bodies [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `conservative_impl_trait` has been stable since 1.26.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/bin/counter.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(conservative_impl_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `rust-lld` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "rust-lld" "-flavor" "wasm" "--export" "__main_void" "--export" "blocks_in_callback0" "--export" "blocks_in_callback_event" "--export" "blocks_in_create_string" "-z" "stack-size=1048576" "--stack-first" "--no-demangle" "/lib/rustlib/wasm32-wasip1/lib/self-contained/crt1-command.o" "<6 object files omitted>" "/lib/rustlib/wasm32-wasip1/lib/libpanic_abort-*.rlib" "/opt/rustwide/target/wasm32-wasip1/debug/deps/{libblocks-e78183d333258a07,liblazy_static-fb73d6cd74ad8b02,libserde_json-5505554eed939217,libdtoa-60b8d935435f82ba,libitoa-a6d78d405065fff7,libnum_traits-347b3ca2f7ba58eb,libserde-a3a8babe913f7a97}.rlib" "/lib/rustlib/wasm32-wasip1/lib/{libstd-*,libwasi-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*}.rlib" "-l" "c" "/lib/rustlib/wasm32-wasip1/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/lib/rustlib/wasm32-wasip1/lib/self-contained" "-o" "/opt/rustwide/target/wasm32-wasip1/debug/deps/counter-a5a90c6f1c036389.wasm" "--gc-sections" "-O0" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/counter-a5a90c6f1c036389.counter.49e15fd426441e8a-cgu.3.rcgu.o: undefined symbol: blocks_out_create_event [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/counter-a5a90c6f1c036389.counter.49e15fd426441e8a-cgu.3.rcgu.o: undefined symbol: blocks_out_create_event [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/counter-a5a90c6f1c036389.counter.49e15fd426441e8a-cgu.3.rcgu.o: undefined symbol: blocks_out_create_text_node [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/counter-a5a90c6f1c036389.counter.49e15fd426441e8a-cgu.3.rcgu.o: undefined symbol: blocks_out_update_text_node [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/counter-a5a90c6f1c036389.counter.49e15fd426441e8a-cgu.3.rcgu.o: undefined symbol: blocks_out_element_to_text_node [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_inject_stylesheet [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_delete_node [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_create_element [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_update_element [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_node_text_to_element [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_defer [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/libblocks-e78183d333258a07.rlib(blocks-e78183d333258a07.blocks.3666740f546be581-cgu.3.rcgu.o): undefined symbol: blocks_out_mount_id [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `blocks` (bin "counter") due to 1 previous error; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "6ca952cd8f46a7c373b1efb0c2f59715d3d594503d809a8ebf7435de282881db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ca952cd8f46a7c373b1efb0c2f59715d3d594503d809a8ebf7435de282881db", kill_on_drop: false }` [INFO] [stdout] 6ca952cd8f46a7c373b1efb0c2f59715d3d594503d809a8ebf7435de282881db