pub open spec fn spec_cast_ptr_to_thin_ptr<T: ?Sized, U: Sized>(ptr: *mut T) -> *mut U
{ ptr_mut_from_data(PtrData { addr: ptr@.addr, provenance: ptr@.provenance, metadata: Metadata::Thin, }) }