A reusable Pin<Box<dyn Future<Output = T> + Send>>.
Pin<Box<dyn Future<Output = T> + Send>>
This lets you replace the future stored in the box without reallocating when the size and alignment permits it.
This code was extracted from [tokio-util] crate.
MIT