diff options
author | 2020-02-05 04:14:26 +0100 | |
---|---|---|
committer | 2020-02-05 04:14:26 +0100 | |
commit | ca213922d043a5532d9ab352c0d54bfca7563871 (patch) | |
tree | ee4ce50991d974144e23030d31ffb11b975cb603 /futures/src/executor | |
parent | 9a06e481b7f52a9d8e123c909d5614332f607c53 (diff) | |
download | iced-ca213922d043a5532d9ab352c0d54bfca7563871.tar.gz iced-ca213922d043a5532d9ab352c0d54bfca7563871.tar.bz2 iced-ca213922d043a5532d9ab352c0d54bfca7563871.zip |
Drop `Send` in `Command` and `Executor` on Wasm
Diffstat (limited to '')
-rw-r--r-- | futures/src/executor.rs | 11 | ||||
-rw-r--r-- | futures/src/executor/null.rs | 4 | ||||
-rw-r--r-- | futures/src/executor/wasm_bindgen.rs | 5 |
3 files changed, 14 insertions, 6 deletions
diff --git a/futures/src/executor.rs b/futures/src/executor.rs index 2a5281af..5378c0b3 100644 --- a/futures/src/executor.rs +++ b/futures/src/executor.rs @@ -1,7 +1,7 @@ //! Choose your preferred executor to power a runtime. mod null; -#[cfg(feature = "thread-pool")] +#[cfg(all(not(target_arch = "wasm32"), feature = "thread-pool"))] mod thread_pool; #[cfg(all(not(target_arch = "wasm32"), feature = "tokio"))] @@ -15,7 +15,7 @@ mod wasm_bindgen; pub use null::Null; -#[cfg(feature = "thread-pool")] +#[cfg(all(not(target_arch = "wasm32"), feature = "thread-pool"))] pub use thread_pool::ThreadPool; #[cfg(all(not(target_arch = "wasm32"), feature = "tokio"))] @@ -41,8 +41,15 @@ pub trait Executor: Sized { /// Spawns a future in the [`Executor`]. /// /// [`Executor`]: trait.Executor.html + #[cfg(not(target_arch = "wasm32"))] fn spawn(&self, future: impl Future<Output = ()> + Send + 'static); + /// Spawns a local future in the [`Executor`]. + /// + /// [`Executor`]: trait.Executor.html + #[cfg(target_arch = "wasm32")] + fn spawn(&self, future: impl Future<Output = ()> + 'static); + /// Runs the given closure inside the [`Executor`]. /// /// Some executors, like `tokio`, require some global state to be in place diff --git a/futures/src/executor/null.rs b/futures/src/executor/null.rs index 6d5cf982..65e2e2df 100644 --- a/futures/src/executor/null.rs +++ b/futures/src/executor/null.rs @@ -11,5 +11,9 @@ impl Executor for Null { Ok(Self) } + #[cfg(not(target_arch = "wasm32"))] fn spawn(&self, _future: impl Future<Output = ()> + Send + 'static) {} + + #[cfg(target_arch = "wasm32")] + fn spawn(&self, _future: impl Future<Output = ()> + 'static) {} } diff --git a/futures/src/executor/wasm_bindgen.rs b/futures/src/executor/wasm_bindgen.rs index 69b7c7e2..94d694c8 100644 --- a/futures/src/executor/wasm_bindgen.rs +++ b/futures/src/executor/wasm_bindgen.rs @@ -9,10 +9,7 @@ impl Executor for WasmBindgen { Ok(Self) } - fn spawn( - &self, - future: impl futures::Future<Output = ()> + Send + 'static, - ) { + fn spawn(&self, future: impl futures::Future<Output = ()> + 'static) { wasm_bindgen_futures::spawn_local(future); } } |