Trait stabby_abi::vtable::IConstConstructor

source ·
pub trait IConstConstructor<'a, Source>: 'a + Copy + Freeze {
    const VTABLE: Self;
    const VTABLE_REF: &'a Self = _;

    // Provided method
    fn vtable() -> &'a Self { ... }
}
Expand description

Implementation detail for stabby’s version of dyn traits. Any type that implements a trait ITrait must implement IConstConstructor<VtITrait> for stabby::dyn!(Ptr<ITrait>)::from(value) to work.

Required Associated Constants§

source

const VTABLE: Self

The vtable.

Provided Associated Constants§

source

const VTABLE_REF: &'a Self = _

A reference to the vtable

Provided Methods§

source

fn vtable() -> &'a Self

Returns the reference to the vtable

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a, T> IConstConstructor<'a, T> for ()

source§

const VTABLE: () = ()

Implementors§

source§

impl<'a, T> IConstConstructor<'a, T> for VtDrop

source§

impl<'a, T, Head, Tail> IConstConstructor<'a, T> for VTable<Head, Tail>
where Head: IConstConstructor<'a, T> + Copy + 'a, Tail: IConstConstructor<'a, T> + Copy + 'a,

source§

const VTABLE: VTable<Head, Tail> = _

source§

impl<'a, T: Send, Vt: IConstConstructor<'a, T>> IConstConstructor<'a, T> for VtSend<Vt>

source§

const VTABLE: VtSend<Vt> = _

source§

impl<'a, T: Sync, Vt: IConstConstructor<'a, T>> IConstConstructor<'a, T> for VtSync<Vt>

source§

const VTABLE: VtSync<Vt> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableIStableAlloc
where StabbyArbitraryType: IStableAlloc,

source§

impl<'stabby_vt_lt, StabbyArbitraryType> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableAny
where StabbyArbitraryType: Any,

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall0<O>
where StabbyArbitraryType: Call0<O>, O: 'stabby_vt_lt,

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut0<O>
where StabbyArbitraryType: CallMut0<O>, O: 'stabby_vt_lt,

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall1<O, I0>
where StabbyArbitraryType: Call1<O, I0>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt,

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut1<O, I0>
where StabbyArbitraryType: CallMut1<O, I0>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt,

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall2<O, I0, I1>
where StabbyArbitraryType: Call2<O, I0, I1>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall2<O, I0, I1> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut2<O, I0, I1>
where StabbyArbitraryType: CallMut2<O, I0, I1>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut2<O, I0, I1> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall3<O, I0, I1, I2>
where StabbyArbitraryType: Call3<O, I0, I1, I2>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall3<O, I0, I1, I2> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut3<O, I0, I1, I2>
where StabbyArbitraryType: CallMut3<O, I0, I1, I2>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut3<O, I0, I1, I2> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall4<O, I0, I1, I2, I3>
where StabbyArbitraryType: Call4<O, I0, I1, I2, I3>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall4<O, I0, I1, I2, I3> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut4<O, I0, I1, I2, I3>
where StabbyArbitraryType: CallMut4<O, I0, I1, I2, I3>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut4<O, I0, I1, I2, I3> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall5<O, I0, I1, I2, I3, I4>
where StabbyArbitraryType: Call5<O, I0, I1, I2, I3, I4>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall5<O, I0, I1, I2, I3, I4> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut5<O, I0, I1, I2, I3, I4>
where StabbyArbitraryType: CallMut5<O, I0, I1, I2, I3, I4>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut5<O, I0, I1, I2, I3, I4> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall6<O, I0, I1, I2, I3, I4, I5>
where StabbyArbitraryType: Call6<O, I0, I1, I2, I3, I4, I5>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall6<O, I0, I1, I2, I3, I4, I5> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut6<O, I0, I1, I2, I3, I4, I5>
where StabbyArbitraryType: CallMut6<O, I0, I1, I2, I3, I4, I5>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut6<O, I0, I1, I2, I3, I4, I5> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5, I6> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall7<O, I0, I1, I2, I3, I4, I5, I6>
where StabbyArbitraryType: Call7<O, I0, I1, I2, I3, I4, I5, I6>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt, I6: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall7<O, I0, I1, I2, I3, I4, I5, I6> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5, I6> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut7<O, I0, I1, I2, I3, I4, I5, I6>
where StabbyArbitraryType: CallMut7<O, I0, I1, I2, I3, I4, I5, I6>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt, I6: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut7<O, I0, I1, I2, I3, I4, I5, I6> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5, I6, I7> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall8<O, I0, I1, I2, I3, I4, I5, I6, I7>
where StabbyArbitraryType: Call8<O, I0, I1, I2, I3, I4, I5, I6, I7>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt, I6: 'stabby_vt_lt, I7: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall8<O, I0, I1, I2, I3, I4, I5, I6, I7> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5, I6, I7> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut8<O, I0, I1, I2, I3, I4, I5, I6, I7>
where StabbyArbitraryType: CallMut8<O, I0, I1, I2, I3, I4, I5, I6, I7>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt, I6: 'stabby_vt_lt, I7: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut8<O, I0, I1, I2, I3, I4, I5, I6, I7> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5, I6, I7, I8> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCall9<O, I0, I1, I2, I3, I4, I5, I6, I7, I8>
where StabbyArbitraryType: Call9<O, I0, I1, I2, I3, I4, I5, I6, I7, I8>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt, I6: 'stabby_vt_lt, I7: 'stabby_vt_lt, I8: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCall9<O, I0, I1, I2, I3, I4, I5, I6, I7, I8> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, O, I0, I1, I2, I3, I4, I5, I6, I7, I8> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableCallMut9<O, I0, I1, I2, I3, I4, I5, I6, I7, I8>
where StabbyArbitraryType: CallMut9<O, I0, I1, I2, I3, I4, I5, I6, I7, I8>, O: 'stabby_vt_lt, I0: 'stabby_vt_lt, I1: 'stabby_vt_lt, I2: 'stabby_vt_lt, I3: 'stabby_vt_lt, I4: 'stabby_vt_lt, I5: 'stabby_vt_lt, I6: 'stabby_vt_lt, I7: 'stabby_vt_lt, I8: 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableCallMut9<O, I0, I1, I2, I3, I4, I5, I6, I7, I8> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, _stabby_unselfed_0> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableFuture<_stabby_unselfed_0>
where StabbyArbitraryType: Future<Output = _stabby_unselfed_0>, _stabby_unselfed_0: IDeterminantProvider<()> + 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableFuture<_stabby_unselfed_0> = _

source§

impl<'stabby_vt_lt, StabbyArbitraryType, _stabby_unselfed_0> IConstConstructor<'stabby_vt_lt, StabbyArbitraryType> for StabbyVtableIterator<_stabby_unselfed_0>
where StabbyArbitraryType: Iterator<Item = _stabby_unselfed_0>, _stabby_unselfed_0: IDeterminantProvider<()> + 'stabby_vt_lt,

source§

const VTABLE: StabbyVtableIterator<_stabby_unselfed_0> = _