pub fn block_on<Fut: Future>(fut: Fut) -> Fut::Output
runs the future to completion on the current thread