diff options
Diffstat (limited to 'futures/src/subscription/tracker.rs')
-rw-r--r-- | futures/src/subscription/tracker.rs | 54 |
1 files changed, 7 insertions, 47 deletions
diff --git a/futures/src/subscription/tracker.rs b/futures/src/subscription/tracker.rs index 01e0c105..421fb917 100644 --- a/futures/src/subscription/tracker.rs +++ b/futures/src/subscription/tracker.rs @@ -1,52 +1,8 @@ -use crate::{BoxFuture, Subscription}; +use crate::{BoxFuture, MaybeSend, Subscription}; use futures::{channel::mpsc, sink::Sink}; use std::{collections::HashMap, marker::PhantomData}; -#[cfg(not(target_arch = "wasm32"))] -mod trait_aliases { - use super::*; - - pub trait TrackerMessage: Send + 'static {} - - impl<T> TrackerMessage for T where T: Send + 'static {} - - pub trait TrackerMessageReceiver<Message: TrackerMessage>: - Sink<Message, Error = mpsc::SendError> + Unpin + Send + Clone + 'static - { - } - - impl<Message: TrackerMessage, T> TrackerMessageReceiver<Message> for T where - T: Sink<Message, Error = mpsc::SendError> - + Unpin - + Send - + Clone - + 'static - { - } -} - -#[cfg(target_arch = "wasm32")] -mod trait_aliases { - use super::*; - - pub trait TrackerMessage: 'static {} - - impl<T> TrackerMessage for T where T: 'static {} - - pub trait TrackerMessageReceiver<Message: TrackerMessage>: - Sink<Message, Error = mpsc::SendError> + Unpin + Clone + 'static - { - } - - impl<Message: TrackerMessage, T> TrackerMessageReceiver<Message> for T where - T: Sink<Message, Error = mpsc::SendError> + Unpin + Clone + 'static - { - } -} - -pub use trait_aliases::{TrackerMessage, TrackerMessageReceiver}; - /// A registry of subscription streams. /// /// If you have an application that continuously returns a [`Subscription`], @@ -101,8 +57,12 @@ where receiver: Receiver, ) -> Vec<BoxFuture<()>> where - Message: TrackerMessage, - Receiver: TrackerMessageReceiver<Message>, + Message: 'static + MaybeSend, + Receiver: 'static + + Sink<Message, Error = mpsc::SendError> + + Unpin + + MaybeSend + + Clone, { use futures::{future::FutureExt, stream::StreamExt}; |