summaryrefslogtreecommitdiffstats
path: root/futures/src/subscription/tracker.rs
diff options
context:
space:
mode:
Diffstat (limited to 'futures/src/subscription/tracker.rs')
-rw-r--r--futures/src/subscription/tracker.rs54
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};