Trait PinCoerceUnsized
unsafe trait PinCoerceUnsized
Trait that indicates that this is a pointer or a wrapper for one, where unsizing can be performed on the pointee when it is pinned.
Safety
If this type implements Deref, then the concrete type returned by deref
and deref_mut must not change without a modification. The following
operations are not considered modifications:
- Moving the pointer.
- Performing unsizing coercions on the pointer.
- Performing dynamic dispatch with the pointer.
- Calling
dereforderef_muton the pointer.
The concrete type of a trait object is the type that the vtable corresponds to. The concrete type of a slice is an array of the same element type and the length specified in the metadata. The concrete type of a sized type is the type itself.
Implementors
impl<'b, T: ?Sized> PinCoerceUnsized for Ref<'b, T>impl<'a, T: ?Sized> PinCoerceUnsized for &'a Timpl<T: ?Sized> PinCoerceUnsized for RefCell<T>impl<'a, T: ?Sized> PinCoerceUnsized for &'a mut Timpl<T: PointeeSized> PinCoerceUnsized for NonNull<T>impl<T: ?Sized> PinCoerceUnsized for SyncUnsafeCell<T>impl<T: ?Sized> PinCoerceUnsized for *const Timpl<T: ?Sized> PinCoerceUnsized for *mut Timpl<T: ?Sized> PinCoerceUnsized for Cell<T>impl<T: ?Sized> PinCoerceUnsized for UnsafeCell<T>impl<'b, T: ?Sized> PinCoerceUnsized for RefMut<'b, T>impl<T: PinCoerceUnsized> PinCoerceUnsized for Pin<T>