defer
pub fn defer<F: FnOnce()>( f: F) -> impl Drop
Defer execution of a closure until the return value is dropped.