abi_stable::erased_types

Trait MakeVTable

Source
pub trait MakeVTable<'borr, T, OrigPtr, CanDowncast> {
    type Helper0;
    type Helper1;

    const HELPER0: Self::Helper0;
    const HELPER1: Self::Helper1;
    const VTABLE_REF: Self;
}
Expand description

Csontructs a vtable.

This is only exposed to allow users to construct DynTraits with a generic I type parameter.

Required Associated Constants§

Source

const HELPER0: Self::Helper0

Source

const HELPER1: Self::Helper1

Source

const VTABLE_REF: Self

Required Associated Types§

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§

Source§

impl<'borr, T, ErasedPtr, OrigP, I, CanDowncast> MakeVTable<'borr, T, OrigP, CanDowncast> for VTable_Ref<'borr, ErasedPtr, I>
where I: InterfaceType, CanDowncast: GetUTID<T>, I::Send: MarkerTrait<'borr, T, ErasedPtr, OrigP>, I::Sync: MarkerTrait<'borr, T, ErasedPtr, OrigP>, I::Unpin: MarkerTrait<'borr, T, ErasedPtr, OrigP>, I::Error: MarkerTrait<'borr, T, ErasedPtr, OrigP>, I::Clone: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedPtr>) -> ErasedPtr>, T, ErasedPtr, OrigP, I>, I::Default: VTableFieldValue<'borr, Option<unsafe extern "C" fn() -> ErasedPtr>, T, ErasedPtr, OrigP, I>, I::Display: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>, _: FormattingMode, _: &mut RString) -> RResult<(), ()>>, T, ErasedPtr, OrigP, I>, I::Debug: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>, _: FormattingMode, _: &mut RString) -> RResult<(), ()>>, T, ErasedPtr, OrigP, I>, I::Serialize: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>) -> RResult<ErasedObject, RBoxError>>, T, ErasedPtr, OrigP, I>, I::PartialEq: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>, _: RRef<'_, ErasedObject>) -> bool>, T, ErasedPtr, OrigP, I>, I::Ord: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>, _: RRef<'_, ErasedObject>) -> RCmpOrdering>, T, ErasedPtr, OrigP, I>, I::PartialOrd: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>, _: RRef<'_, ErasedObject>) -> ROption<RCmpOrdering>>, T, ErasedPtr, OrigP, I>, I::Hash: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RRef<'_, ErasedObject>, _: HasherObject<'_>)>, T, ErasedPtr, OrigP, I>, I::Iterator: VTableFieldValue<'borr, ROption<IteratorFns<()>>, T, ErasedPtr, OrigP, I>, I::DoubleEndedIterator: VTableFieldValue<'borr, ROption<DoubleEndedIteratorFns<()>>, T, ErasedPtr, OrigP, I>, I::FmtWrite: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RMut<'_, ErasedObject>, _: RStr<'_>) -> RResult<(), ()>>, T, ErasedPtr, OrigP, I>, I::IoWrite: VTableFieldValue<'borr, ROption<IoWriteFns>, T, ErasedPtr, OrigP, I>, I::IoRead: VTableFieldValue<'borr, ROption<IoReadFns>, T, ErasedPtr, OrigP, I>, I::IoBufRead: VTableFieldValue<'borr, ROption<IoBufReadFns>, T, ErasedPtr, OrigP, I>, I::IoSeek: VTableFieldValue<'borr, Option<unsafe extern "C" fn(_: RMut<'_, ErasedObject>, _: RSeekFrom) -> RResult<u64, RIoError>>, T, ErasedPtr, OrigP, I>,

Source§

const VTABLE_REF: Self = _