Trait PinField

Source
pub unsafe trait PinField<T>: Field<T> {
    type PinWrapper<'a, U: ?Sized + 'a>;
}
Expand description

Additional information on a field of a struct regarding to pinning.

§Safety

PinWrapper must be layout-compatible with &mut Self::Type. If the field is pinned, then it should be Pin<&mut Self::Type>, otherwise it should be &mut Self::Type.

This trait should not be implemented manually; instead, use the #[derive(PinField)] instead.

Required Associated Types§

Source

type PinWrapper<'a, U: ?Sized + 'a>

The type when this field is projected from a Pin<&mut Self::Base>.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§