pub fn new(t: &'a mut T) -> (&'a mut T, Self) {
        let ptr = NonNull::from(t);
        // SAFETY: we hold the borrow throughout 'a via `_marker`, and we expose
        // only this reference, so it is unique.
        let new_ref = unsafe { &mut *ptr.as_ptr() };
        (
            new_ref,
            Self {
                ptr,
                _marker: PhantomData,
            },
        )
    }
Capture a unique borrow, and immediately reborrow it. For the compiler,
the lifetime of the new reference is the same as the lifetime of the
original reference, but you promise to use it for a shorter period.
src/util/reborrow.rs