Trait iffi::OneNiche

source ·
pub unsafe trait OneNiche { }
Expand description

Indicates that the type has exactly one niche, which is filled by niche optimization and so implements Nicheless in option-like enums (Option<T>, Result<T, ()>).

Safety

Type must have exactly one niche.

Implementations on Foreign Types§

source§

impl<R, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T14, T15, T16> OneNiche for unsafe fn(_: T14, _: T15, _: T16) -> R

source§

impl<R, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T13, T14, T15, T16> OneNiche for fn(_: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroU32

source§

impl OneNiche for NonZeroI64

source§

impl OneNiche for NonZeroI32

source§

impl<R, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroU8

source§

impl<'a, T> OneNiche for &'a T

source§

impl<R, T15, T16> OneNiche for unsafe fn(_: T15, _: T16) -> R

source§

impl<R, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T16> OneNiche for unsafe fn(_: T16) -> R

source§

impl<R> OneNiche for extern "C" fn() -> R

source§

impl<R, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T16> OneNiche for fn(_: T16) -> R

source§

impl<R, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T15, T16> OneNiche for extern "C" fn(_: T15, _: T16) -> R

source§

impl<R, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T14, T15, T16> OneNiche for fn(_: T14, _: T15, _: T16) -> R

source§

impl<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T0, _: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T15, T16> OneNiche for fn(_: T15, _: T16) -> R

source§

impl<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroU128

source§

impl<R, T14, T15, T16> OneNiche for extern "C" fn(_: T14, _: T15, _: T16) -> R

source§

impl<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroI128

source§

impl<R, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<T> OneNiche for NonNull<T>

source§

impl<R, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T12, T13, T14, T15, T16> OneNiche for fn(_: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroU64

source§

impl<R> OneNiche for unsafe fn() -> R

source§

impl<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T0, _: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T16> OneNiche for extern "C" fn(_: T16) -> R

source§

impl<R> OneNiche for fn() -> R

source§

impl<R, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R> OneNiche for unsafe extern "C" fn() -> R

source§

impl<R, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<'a, T> OneNiche for &'a mut T

source§

impl<R, T16> OneNiche for unsafe extern "C" fn(_: T16) -> R

source§

impl<R, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroU16

source§

impl<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for extern "C" fn(_: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T15, T16> OneNiche for unsafe extern "C" fn(_: T15, _: T16) -> R

source§

impl<R, T13, T14, T15, T16> OneNiche for unsafe fn(_: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T0, _: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for fn(_: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe fn(_: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl<R, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T12, _: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroI16

source§

impl<R, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T13, _: T14, _: T15, _: T16) -> R

source§

impl OneNiche for NonZeroI8

source§

impl<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> OneNiche for unsafe extern "C" fn(_: T0, _: T1, _: T2, _: T3, _: T4, _: T5, _: T6, _: T7, _: T8, _: T9, _: T10, _: T11, _: T12, _: T13, _: T14, _: T15, _: T16) -> R

Implementors§