Trait abi_stable::prefix_type::PrefixRefTrait[][src]

pub unsafe trait PrefixRefTrait: Sized + ImmutableRef {
    type PrefixFields: GetWithMetadata<ForSelf = Self::Target>;

    const PREFIX_FIELDS: PointsToPrefixFields<Self, Self::PrefixFields>;
    fn from_prefix_ref(this: PrefixRef<Self::PrefixFields>) -> Self { ... }
fn to_prefix_ref(self) -> PrefixRef<Self::PrefixFields> { ... } }
Expand description

Marker trait for pointers to prefix field structs.

Generally prefix field structs are named with a _Prefix suffix, and have all the fields of some other struct up to the one with a #[sabi(last_prefix_field)] attribute.

Safety

Self must either be PrefixRef<Self::PrefixFields>, or a #[repr(transparent)] wrapper around one.

Associated Types

A struct that contains all the fields of some other struct up to the field annotated with #[sabi(last_prefix_field)] inclusive.

Those structs are usually named with a _Prefix suffix.

Associated Constants

A type used to prove that the This type parameter in PointsToPrefixFields<This, PF> implements PrefixRefTrait<PrefixFields = PF>.

Provided methods

Converts a PrefixRef to Self

Converts Self to a PrefixRef

Implementors