diff --git a/cargo.out b/cargo.out index c814111..d2607d1 100644 --- a/cargo.out +++ b/cargo.out @@ -1,22 +1,22 @@ Compiling futuretest v0.1.0 (file:///mnt/c/Users/Mahmoud/git/futuretest) error[E0271]: type mismatch resolving ` as futures::IntoFuture>::Error == &str` - --> src/main.rs:12:10 + --> src/main.rs:13:10 | -12 | .and_then(|_| +13 | .and_then(|_| | ^^^^^^^^ expected struct `std::string::String`, found &str | = note: expected type `std::string::String` found type `&str` error[E0271]: type mismatch resolving ` as futures::IntoFuture>::Error == &str` - --> src/main.rs:19:10 + --> src/main.rs:20:10 | -19 | core.run(f).unwrap(); +20 | core.run(f).unwrap(); | ^^^ expected struct `std::string::String`, found &str | = note: expected type `std::string::String` found type `&str` - = note: required because of the requirements on the impl of `futures::Future` for `futures::AndThen, [closure@src/main.rs:11:18: 11:43]>, futures::FutureResult<(), std::string::String>, [closure@src/main.rs:12:19: 15:14]>` + = note: required because of the requirements on the impl of `futures::Future` for `futures::AndThen, [closure@src/main.rs:11:18: 11:43]>, [closure@src/main.rs:12:14: 12:67]>, futures::FutureResult<(), std::string::String>, [closure@src/main.rs:13:19: 16:14]>` error: aborting due to 2 previous errors diff --git a/src/main.rs b/src/main.rs index 2f25049..fe2d780 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,6 +9,7 @@ fn main() { let f = future::result(Ok(())) .map_err(|()| "&'static str error") + .map(|_| future::result(Err("another &'static str error"))) .and_then(|_| future::result(Ok(()) .map_err(|()| "String error".to_owned())