[INFO] fetching crate agentlink-wasm 0.1.1...
[INFO] checking agentlink-wasm-0.1.1 against 011c518242557d21690f7936b5812318dc2fec47 for pr-159877
[INFO] extracting crate agentlink-wasm 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate agentlink-wasm 0.1.1
[INFO] finished tweaking crates.io crate agentlink-wasm 0.1.1
[INFO] tweaked toml for crates.io crate agentlink-wasm 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate agentlink-wasm 0.1.1 on toolchain 011c518242557d21690f7936b5812318dc2fec47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate agentlink-wasm 0.1.1 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" "+011c518242557d21690f7936b5812318dc2fec47" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking agentlink-wasm-0.1.1 against 011c518242557d21690f7936b5812318dc2fec47 for pr-159877
[INFO] extracting crate agentlink-wasm 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate agentlink-wasm 0.1.1
[INFO] finished tweaking crates.io crate agentlink-wasm 0.1.1
[INFO] tweaked toml for crates.io crate agentlink-wasm 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate agentlink-wasm 0.1.1 on toolchain 011c518242557d21690f7936b5812318dc2fec47
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate agentlink-wasm 0.1.1 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" "+011c518242557d21690f7936b5812318dc2fec47" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid v1.6.1
[INFO] [stderr]   Downloaded zmij v1.0.20
[INFO] [stderr]   Downloaded agentlink-core v0.1.0
[INFO] [stderr]   Downloaded libc v0.2.181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345
[INFO] running `Command { std: "docker" "start" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345" "/opt/rustwide/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345" "/opt/rustwide/cargo-home/bin/cargo" "+011c518242557d21690f7936b5812318dc2fec47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.108
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling zmij v1.0.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling wasm-bindgen v0.2.108
[INFO] [stderr]     Checking wasm-bindgen-test-shared v0.2.108
[INFO] [stderr]     Checking send_wrapper v0.6.0
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.108
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.58
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.108
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking js-sys v0.3.85
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking uuid v1.6.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking agentlink-core v0.1.0
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.58
[INFO] [stderr]     Checking web-sys v0.3.85
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking wasm-bindgen-test v0.3.58
[INFO] [stderr]     Checking wasm-logger v0.2.0
[INFO] [stderr]     Checking agentlink-wasm v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0053]: method `request` has an incompatible type for trait
[INFO] [stdout]   --> src/http.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<HttpResponse, SdkError>> + Send`, found trait `Future<Output = Result<HttpResponse, SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmHttpClient, HttpRequest) -> Pin<Box<(dyn Future<Output = Result<HttpResponse, SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmHttpClient, HttpRequest) -> Pin<Box<(dyn Future<Output = Result<HttpResponse, SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `connect` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, MqttConfig) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, MqttConfig) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `disconnect` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `subscribe` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, &'life1 _, MqttQoS) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, &'life1 _, MqttQoS) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `unsubscribe` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, &'life1 _) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, &'life1 _) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `publish` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, MqttMessage) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, MqttMessage) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* MqttEvent */).connect(config).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* MessageEvent */).connect(config).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* CloseEvent */).connect(config).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* ErrorEvent */).connect(config).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* MqttEvent */).disconnect().await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* MessageEvent */).disconnect().await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* CloseEvent */).disconnect().await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* ErrorEvent */).disconnect().await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* MqttEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* MessageEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* CloseEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* ErrorEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* MqttEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* MessageEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* CloseEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* ErrorEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* MqttEvent */).publish(message).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* MessageEvent */).publish(message).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* CloseEvent */).publish(message).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* ErrorEvent */).publish(message).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* MqttEvent */).connection_state() {
[INFO] [stdout]     |                         +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* MessageEvent */).connection_state() {
[INFO] [stdout]     |                         ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* CloseEvent */).connection_state() {
[INFO] [stdout]     |                         ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* ErrorEvent */).connection_state() {
[INFO] [stdout]     |                         ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `request` has an incompatible type for trait
[INFO] [stdout]   --> src/http.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<HttpResponse, SdkError>> + Send`, found trait `Future<Output = Result<HttpResponse, SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmHttpClient, HttpRequest) -> Pin<Box<(dyn Future<Output = Result<HttpResponse, SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmHttpClient, HttpRequest) -> Pin<Box<(dyn Future<Output = Result<HttpResponse, SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `connect` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, MqttConfig) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, MqttConfig) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `disconnect` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `subscribe` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, &'life1 _, MqttQoS) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, &'life1 _, MqttQoS) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `unsubscribe` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, &'life1 _) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, &'life1 _) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `publish` has an incompatible type for trait
[INFO] [stdout]   --> src/mqtt.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[async_trait(?Send)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ expected trait `Future<Output = Result<(), SdkError>> + Send`, found trait `Future<Output = Result<(), SdkError>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected signature `fn(&'life0 WasmMqttClient, MqttMessage) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait)>>`
[INFO] [stdout]               found signature `fn(&'life0 WasmMqttClient, MqttMessage) -> Pin<Box<(dyn Future<Output = Result<(), SdkError>> + 'async_trait)>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/mqtt.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl MqttClient for WasmMqttClient {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Sync`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `MqttClient`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                              ^^^^ required by this bound in `MqttClient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* MqttEvent */).connect(config).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* MessageEvent */).connect(config).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* CloseEvent */).connect(config).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client.connect(config).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connect`
[INFO] [stdout] 111 |     /// Connect to MQTT broker
[INFO] [stdout] 112 |     async fn connect(&self, config: MqttConfig) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 142 |             client(/* ErrorEvent */).connect(config).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* MqttEvent */).disconnect().await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* MessageEvent */).disconnect().await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* CloseEvent */).disconnect().await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:153:20
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client.disconnect().await
[INFO] [stdout]     |                    ^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `disconnect`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::disconnect`
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn disconnect(&self) -> SdkResult<()>;
[INFO] [stdout]     |              ---------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 153 |             client(/* ErrorEvent */).disconnect().await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* MqttEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* MessageEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* CloseEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client.subscribe(&topic, qos).await
[INFO] [stdout]     |                    ^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `subscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::subscribe`
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn subscribe(&self, topic: &str, qos: MqttQoS) -> SdkResult<()>;
[INFO] [stdout]     |              --------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 170 |             client(/* ErrorEvent */).subscribe(&topic, qos).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* MqttEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* MessageEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* CloseEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client.unsubscribe(&topic).await
[INFO] [stdout]     |                    ^^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `unsubscribe`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::unsubscribe`
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn unsubscribe(&self, topic: &str) -> SdkResult<()>;
[INFO] [stdout]     |              ----------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 181 |             client(/* ErrorEvent */).unsubscribe(&topic).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* MqttEvent */).publish(message).await
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `agentlink-wasm` (lib) due to 41 previous errors
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* MessageEvent */).publish(message).await
[INFO] [stdout]     |                   ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* CloseEvent */).publish(message).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client.publish(message).await
[INFO] [stdout]     |                    ^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `publish`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::publish`
[INFO] [stdout] ...
[INFO] [stdout] 124 |     async fn publish(&self, message: MqttMessage) -> SdkResult<()>;
[INFO] [stdout]     |              ------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 199 |             client(/* ErrorEvent */).publish(message).await
[INFO] [stdout]     |                   ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn Fn(MqttEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn Fn(MqttEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn Fn(MqttEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn Fn(MqttEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `Option<Box<(dyn Fn(MqttEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Box<(dyn Fn(MqttEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* MqttEvent */).connection_state() {
[INFO] [stdout]     |                         +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `*mut u8` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: within `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`, the trait `Send` is not implemented for `*mut u8`
[INFO] [stdout] note: required because it appears within the type `PhantomData<*mut u8>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `wasm_bindgen::JsValue`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/lib.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct JsValue {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `closure::JsClosure`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:21:10
[INFO] [stdout]     |
[INFO] [stdout]  21 |     type JsClosure;
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn FnMut(MessageEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(MessageEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(MessageEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(MessageEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(MessageEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* MessageEvent */).connection_state() {
[INFO] [stdout]     |                         ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn FnMut(CloseEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(CloseEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(CloseEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(CloseEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(CloseEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* CloseEvent */).connection_state() {
[INFO] [stdout]     |                         ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]    --> src/bindings.rs:208:26
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner.connection_state() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ `(dyn FnMut(ErrorEvent) + 'static)` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `(dyn FnMut(ErrorEvent) + 'static)`
[INFO] [stdout]     = note: required for `std::ptr::Unique<(dyn FnMut(ErrorEvent) + 'static)>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `Box<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/alloc/src/boxed.rs:236:11
[INFO] [stdout] note: required because it appears within the type `PhantomData<Box<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/marker.rs:811:11
[INFO] [stdout] note: required because it appears within the type `Closure<(dyn FnMut(ErrorEvent) + 'static)>`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/wasm-bindgen-0.2.108/src/closure.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct Closure<T: ?Sized> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] note: required because it appears within the type `Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>`
[INFO] [stdout]    --> /rustc/011c518242557d21690f7936b5812318dc2fec47/library/core/src/option.rs:598:9
[INFO] [stdout]     = note: required for `std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>` to implement `Sync`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Arc<std::sync::Mutex<Option<Closure<(dyn FnMut(ErrorEvent) + 'static)>>>>` to implement `Send`
[INFO] [stdout] note: required because it appears within the type `WasmMqttClient`
[INFO] [stdout]    --> src/mqtt.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub struct WasmMqttClient {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `connection_state`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/agentlink-core-0.1.0/src/mqtt/mod.rs:110:23
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub trait MqttClient: Send + Sync {
[INFO] [stdout]     |                       ^^^^ required by this bound in `MqttClient::connection_state`
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn connection_state(&self) -> MqttConnectionState;
[INFO] [stdout]     |        ---------------- required by a bound in this associated function
[INFO] [stdout] help: use parentheses to call this trait object
[INFO] [stdout]     |
[INFO] [stdout] 208 |         match self.inner(/* ErrorEvent */).connection_state() {
[INFO] [stdout]     |                         ++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0053, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0053, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0053`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `agentlink-wasm` (lib test) due to 41 previous errors
[INFO] running `Command { std: "docker" "inspect" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345", kill_on_drop: false }`
[INFO] [stdout] 6823e1d363327b8c370ff8f352bac8a2ffc99ec18854318ca40cd6b013343345
