error[E0308]: mismatched types
  --> $DIR/issue-99914.rs:9:27
   |
LL |     t.and_then(|t| -> _ { bar(t) });
   |                           ^^^^^^ expected `Result<_, Error>`, found future
   |
help: try wrapping the expression in `Ok`
   |
LL |     t.and_then(|t| -> _ { Ok(bar(t)) });
   |                           +++      +

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.