diff --git a/core/README.md b/core/README.md
index 5078ed8cd..12bba2923 100644
--- a/core/README.md
+++ b/core/README.md
@@ -49,7 +49,7 @@ use jsonrpc_core::futures::Future;
fn main() {
let io = IoHandler::new();
io.add_async_method("say_hello", |_params: Params| {
- futures::finished(Value::String("hello".into())).boxed()
+ Box::new(futures::finished(Value::String("hello".into())))
});
let request = r#"{"jsonrpc": "2.0", "method": "say_hello", "params": [42, 23], "id": 1}"#;
diff --git a/core/examples/middlewares.rs b/core/examples/middlewares.rs
index a54244614..b660eba31 100644
--- a/core/examples/middlewares.rs
+++ b/core/examples/middlewares.rs
@@ -22,10 +22,10 @@ impl Middleware for MyMiddleware {
let request_number = self.0.fetch_add(1, atomic::Ordering::SeqCst);
println!("Processing request {}: {:?}, {:?}", request_number, request, meta);
- next(request, meta).map(move |res| {
+ Box::new(next(request, meta).map(move |res| {
println!("Processing took: {:?}", start.elapsed());
res
- }).boxed()
+ }))
}
}
diff --git a/core/src/calls.rs b/core/src/calls.rs
index 8d65e6bac..8c4b1dbb3 100644
--- a/core/src/calls.rs
+++ b/core/src/calls.rs
@@ -1,6 +1,7 @@
use std::sync::Arc;
use types::{Params, Value, Error};
-use futures::{BoxFuture, Future};
+use futures::Future;
+use BoxFuture;
/// Metadata trait
pub trait Metadata: Default + Clone + Send + 'static {}
@@ -60,7 +61,7 @@ impl RpcMethodSimple for F where
X: Future- ,
{
fn call(&self, params: Params) -> BoxFuture {
- self(params).boxed()
+ Box::new(self(params))
}
}
@@ -78,7 +79,7 @@ impl RpcMethod for F where
X: Future
- ,
{
fn call(&self, params: Params, meta: T) -> BoxFuture {
- self(params, meta).boxed()
+ Box::new(self(params, meta))
}
}
diff --git a/core/src/io.rs b/core/src/io.rs
index 2983c892a..1d1f43014 100644
--- a/core/src/io.rs
+++ b/core/src/io.rs
@@ -3,12 +3,13 @@ use std::collections::HashMap;
use std::ops::{Deref, DerefMut};
use serde_json;
-use futures::{self, future, Future, BoxFuture};
+use futures::{self, future, Future};
use calls::{RemoteProcedure, Metadata, RpcMethodSync, RpcMethodSimple, RpcMethod, RpcNotificationSimple, RpcNotification};
use middleware::{self, Middleware};
use types::{Params, Error, ErrorCode, Version};
use types::{Request, Response, Call, Output};
+use BoxFuture;
/// A type representing middleware or RPC response before serialization.
pub type FutureResponse = BoxFuture