There are some general Future trait implementations in the futures crate. One of them is implemented in futures::sync::oneshot module and is available through futures::oneshot function:
extern crate futures;
use std::thread;
use futures::Future;
fn expensive_computation() -> u32 {
//...