Consume Recipe when building a Stream

This commit is contained in:
Héctor Ramón Jiménez 2019-12-14 01:13:01 +01:00
parent 69ed631d44
commit c688452d7b
4 changed files with 5 additions and 4 deletions

View File

@ -75,7 +75,7 @@ pub trait Recipe<Hasher: std::hash::Hasher, Input> {
fn hash(&self, state: &mut Hasher);
fn stream(
&self,
self: Box<Self>,
input: Input,
) -> futures::stream::BoxStream<'static, Self::Output>;
}
@ -110,7 +110,7 @@ where
}
fn stream(
&self,
self: Box<Self>,
input: I,
) -> futures::stream::BoxStream<'static, Self::Output> {
use futures::StreamExt;

View File

@ -108,7 +108,7 @@ mod events {
}
fn stream(
&self,
self: Box<Self>,
input: iced_native::subscription::Input,
) -> futures::stream::BoxStream<'static, Self::Output> {
use futures::StreamExt;

View File

@ -167,7 +167,7 @@ mod time {
}
fn stream(
&self,
self: Box<Self>,
_input: Input,
) -> futures::stream::BoxStream<'static, Self::Output> {
use futures::stream::StreamExt;

View File

@ -470,6 +470,7 @@ impl Subscriptions {
let stream = recipe.stream(event_receiver);
// TODO: Find out how to avoid using a mutex here
let proxy =
std::sync::Arc::new(std::sync::Mutex::new(proxy.clone()));