diff options
author | 2022-08-12 01:57:05 +0800 | |
---|---|---|
committer | 2022-08-12 01:57:05 +0800 | |
commit | f21d1209aa576a3e597c100fa56afe554dc2babd (patch) | |
tree | 3b5ebd93ceff1d6d3b7c62dc5eba44dacbf17fff /native | |
parent | e209349c508fe67d4494cd512eb25899840a13fd (diff) | |
download | iced-f21d1209aa576a3e597c100fa56afe554dc2babd.tar.gz iced-f21d1209aa576a3e597c100fa56afe554dc2babd.tar.bz2 iced-f21d1209aa576a3e597c100fa56afe554dc2babd.zip |
Relax `Fn` trait bounds in `Command` & `Action`
Diffstat (limited to 'native')
-rw-r--r-- | native/src/clipboard.rs | 4 | ||||
-rw-r--r-- | native/src/command.rs | 4 | ||||
-rw-r--r-- | native/src/command/action.rs | 2 | ||||
-rw-r--r-- | native/src/system/action.rs | 6 | ||||
-rw-r--r-- | native/src/widget/action.rs | 6 |
5 files changed, 11 insertions, 11 deletions
diff --git a/native/src/clipboard.rs b/native/src/clipboard.rs index c9105bc0..6a77334c 100644 --- a/native/src/clipboard.rs +++ b/native/src/clipboard.rs @@ -30,7 +30,7 @@ impl Clipboard for Null { /// [`Command`]: crate::Command pub enum Action<T> { /// Read the clipboard and produce `T` with the result. - Read(Box<dyn Fn(Option<String>) -> T>), + Read(Box<dyn FnOnce(Option<String>) -> T>), /// Write the given contents to the clipboard. Write(String), @@ -40,7 +40,7 @@ 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 + MaybeSend + Sync, + f: impl FnOnce(T) -> A + 'static + MaybeSend + Sync, ) -> Action<A> where T: 'static, diff --git a/native/src/command.rs b/native/src/command.rs index b0b12805..3571efc4 100644 --- a/native/src/command.rs +++ b/native/src/command.rs @@ -36,7 +36,7 @@ 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 + MaybeSend, - f: impl Fn(T) -> A + 'static + MaybeSend, + f: impl FnOnce(T) -> A + 'static + MaybeSend, ) -> Command<A> { use iced_futures::futures::FutureExt; @@ -56,7 +56,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 + MaybeSend + Sync + Clone, + f: impl FnMut(T) -> A + 'static + MaybeSend + Sync + Clone, ) -> Command<A> where T: 'static, diff --git a/native/src/command/action.rs b/native/src/command/action.rs index 3fb02899..549632dd 100644 --- a/native/src/command/action.rs +++ b/native/src/command/action.rs @@ -35,7 +35,7 @@ impl<T> Action<T> { /// [`Command`]: crate::Command pub fn map<A>( self, - f: impl Fn(T) -> A + 'static + MaybeSend + Sync, + f: impl FnMut(T) -> A + 'static + MaybeSend + Sync, ) -> Action<A> where A: 'static, diff --git a/native/src/system/action.rs b/native/src/system/action.rs index dea9536f..7f66141b 100644 --- a/native/src/system/action.rs +++ b/native/src/system/action.rs @@ -9,15 +9,15 @@ pub enum Action<T> { QueryInformation(Box<dyn Closure<T>>), } -pub trait Closure<T>: Fn(system::Information) -> T + MaybeSend {} +pub trait Closure<T>: FnOnce(system::Information) -> T + MaybeSend {} -impl<T, O> Closure<O> for T where T: Fn(system::Information) -> O + MaybeSend {} +impl<T, O> Closure<O> for T where T: FnOnce(system::Information) -> O + MaybeSend {} impl<T> Action<T> { /// Maps the output of a system [`Action`] using the provided closure. pub fn map<A>( self, - f: impl Fn(T) -> A + 'static + MaybeSend + Sync, + f: impl FnOnce(T) -> A + 'static + MaybeSend + Sync, ) -> Action<A> where T: 'static, diff --git a/native/src/widget/action.rs b/native/src/widget/action.rs index 766e902b..ea1d9b12 100644 --- a/native/src/widget/action.rs +++ b/native/src/widget/action.rs @@ -16,7 +16,7 @@ impl<T> Action<T> { /// Maps the output of an [`Action`] using the given function. pub fn map<A>( self, - f: impl Fn(T) -> A + 'static + MaybeSend + Sync, + f: impl FnMut(T) -> A + 'static + MaybeSend + Sync, ) -> Action<A> where T: 'static, @@ -37,7 +37,7 @@ impl<T> Action<T> { #[allow(missing_debug_implementations)] struct Map<A, B> { operation: Box<dyn Operation<A>>, - f: Box<dyn Fn(A) -> B>, + f: Box<dyn FnMut(A) -> B>, } impl<A, B> Operation<B> for Map<A, B> @@ -52,7 +52,7 @@ where ) { struct MapRef<'a, A, B> { operation: &'a mut dyn Operation<A>, - f: &'a dyn Fn(A) -> B, + f: &'a mut dyn FnMut(A) -> B, } impl<'a, A, B> Operation<B> for MapRef<'a, A, B> { |