Skip to main content

smart_pointer_pointee

Function smart_pointer_pointee 

Source
pub(super) fn smart_pointer_pointee(ty: Ty<'_>) -> Option<Ty<'_>>
Expand description

Peel one level of smart-pointer indirection to the pointee type: Box<T>/Vec<T>/NonNull<T>/Rc<T>/CString (matched by DefId), plus raw pointers and references. Used by check_allocated to discharge Allocated(p, Box<T>, n) after provenance resolution has already penetrated p (e.g. a &mut ManuallyDrop<Box<T>>) down to the T allocation: the box’s pointee is what actually occupies the allocation.