pub fn leak < 'l , Type > ( inner : Type ) -> & 'l Type { Box :: leak ( Box :: new (inner) ) } pub fn leak_mut < 'l , Type > ( inner : Type ) -> & 'l mut Type { Box :: leak ( Box :: new (inner) ) } macro_rules ! pinned_async { ( $ ( $ async_expression : expr ) ; + ) => { Box :: pin ( async { $ ( $ async_expression ) ; + } ) } } pub (crate) use pinned_async ;