expiring_ref 0.7.4

A crate designed to implement a mechanism for owning values, via a destructively-moved equivalent to C++'s xvalues/`T&&`
Documentation
#[allow_internal_unstable(super_let)]
pub macro own {
    ($e:expr) => {
        {
            #[allow(non_snake_case)]
            super let mut __OWN_REF_TEMP = ::core::mem::ManuallyDrop::new($e);
            // SAFETY: value is always inhabited
            unsafe { $crate::Own::new(&mut __OWN_REF_TEMP) }
        }
    },
}

/// &own *x
#[allow_internal_unstable(super_let)]
pub macro deref_own {
    ($e:expr) => {
        {
            super let mut __FORGET = $crate::DerefOwnGuard::new($e);
            __FORGET.make_own_ref()
        }
    },
}