Use MaybeSend in perform and map for Command

This commit is contained in:
Héctor Ramón Jiménez 2022-01-28 21:45:30 +07:00
parent e730d97f61
commit 90afd1db8d
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
3 changed files with 17 additions and 5 deletions

View file

@ -1,4 +1,6 @@
//! Access the clipboard.
use iced_futures::MaybeSend;
use std::fmt;
/// A buffer for short-term storage and transfer within and between
@ -36,7 +38,10 @@ pub enum Action<T> {
impl<T> Action<T> {
/// Maps the output of a clipboard [`Action`] using the provided closure.
pub fn map<A>(self, f: impl Fn(T) -> A + 'static + Send + Sync) -> Action<A>
pub fn map<A>(
self,
f: impl Fn(T) -> A + 'static + MaybeSend + Sync,
) -> Action<A>
where
T: 'static,
{

View file

@ -3,6 +3,8 @@ mod action;
pub use action::Action;
use iced_futures::MaybeSend;
use std::fmt;
use std::future::Future;
@ -24,8 +26,8 @@ impl<T> Command<T> {
/// Creates a [`Command`] that performs the action of the given future.
pub fn perform<A>(
future: impl Future<Output = T> + 'static + Send,
f: impl Fn(T) -> A + 'static + Send,
future: impl Future<Output = T> + 'static + MaybeSend,
f: impl Fn(T) -> A + 'static + MaybeSend,
) -> Command<A> {
use iced_futures::futures::FutureExt;
@ -45,7 +47,7 @@ impl<T> Command<T> {
/// Applies a transformation to the result of a [`Command`].
pub fn map<A>(
self,
f: impl Fn(T) -> A + 'static + Send + Sync + Clone,
f: impl Fn(T) -> A + 'static + MaybeSend + Sync + Clone,
) -> Command<A>
where
T: 'static,

View file

@ -1,6 +1,8 @@
use crate::clipboard;
use crate::window;
use iced_futures::MaybeSend;
use std::fmt;
/// An action that a [`Command`] can perform.
@ -19,7 +21,10 @@ pub enum Action<T> {
impl<T> Action<T> {
/// Applies a transformation to the result of a [`Command`].
pub fn map<A>(self, f: impl Fn(T) -> A + 'static + Send + Sync) -> Action<A>
pub fn map<A>(
self,
f: impl Fn(T) -> A + 'static + MaybeSend + Sync,
) -> Action<A>
where
T: 'static,
{