diff --git a/src/multiplex/client.rs b/src/multiplex/client.rs index ef43da3..a503c42 100644 --- a/src/multiplex/client.rs +++ b/src/multiplex/client.rs @@ -81,11 +81,11 @@ where NT::Item: 'static + Send, NT::SinkError: 'static + Send + Sync, NT::Error: 'static + Send + Sync, - NT::Future: 'static, + NT::Future: 'static + Send, { type Error = SpawnError; type Response = Client, Request>; - type Future = Pin>>>; + type Future = Pin> + Send>>; fn call(&mut self, target: Target) -> Self::Future { let maker = self.t_maker.make_transport(target); @@ -349,7 +349,7 @@ where { type Response = T::Ok; type Error = E; - type Future = Pin>>>; + type Future = Pin> + Send>>; fn poll_ready(&mut self, cx: &mut Context) -> Poll> { Poll::Ready(ready!(self.mediator.poll_ready(cx)).map_err(|_| E::from(Error::ClientDropped))) diff --git a/src/pipeline/client.rs b/src/pipeline/client.rs index 6b0352c..db35a0b 100644 --- a/src/pipeline/client.rs +++ b/src/pipeline/client.rs @@ -60,11 +60,11 @@ where NT::Item: 'static + Send, NT::SinkError: 'static + Send + Sync, NT::Error: 'static + Send + Sync, - NT::Future: 'static, + NT::Future: 'static + Send, { type Error = SpawnError; type Response = Client, Request>; - type Future = Pin>>>; + type Future = Pin> + Send>>; fn call(&mut self, target: Target) -> Self::Future { let maker = self.t_maker.make_transport(target); @@ -308,7 +308,7 @@ where { type Response = T::Ok; type Error = E; - type Future = Pin>>>; + type Future = Pin> + Send>>; fn poll_ready(&mut self, cx: &mut Context) -> Poll> { Poll::Ready(ready!(self.mediator.poll_ready(cx)).map_err(|_| E::from(Error::ClientDropped)))