Trait FnExt

Source
pub trait FnExt<Args>:
    'static
    + Sync
    + ZeroSizedElseWrathOfTheGඞds {
    type CSignature;

    // Required method
    fn extern_c(this: Self) -> Self::CSignature;
}

Required Associated Types§

Required Methods§

Source

fn extern_c(this: Self) -> Self::CSignature

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<F, R> FnExt<()> for F
where F: Fn() -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn() -> R

Source§

impl<F, _0, R> FnExt<(_0,)> for F
where F: Fn(_0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_0) -> R

Source§

impl<F, _1, _0, R> FnExt<(_1, _0)> for F
where F: Fn(_1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_1, _0) -> R

Source§

impl<F, _2, _1, _0, R> FnExt<(_2, _1, _0)> for F
where F: Fn(_2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_2, _1, _0) -> R

Source§

impl<F, _3, _2, _1, _0, R> FnExt<(_3, _2, _1, _0)> for F
where F: Fn(_3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_3, _2, _1, _0) -> R

Source§

impl<F, _4, _3, _2, _1, _0, R> FnExt<(_4, _3, _2, _1, _0)> for F
where F: Fn(_4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_4, _3, _2, _1, _0) -> R

Source§

impl<F, _5, _4, _3, _2, _1, _0, R> FnExt<(_5, _4, _3, _2, _1, _0)> for F
where F: Fn(_5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_5, _4, _3, _2, _1, _0) -> R

Source§

impl<F, _6, _5, _4, _3, _2, _1, _0, R> FnExt<(_6, _5, _4, _3, _2, _1, _0)> for F
where F: Fn(_6, _5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_6, _5, _4, _3, _2, _1, _0) -> R

Source§

impl<F, _7, _6, _5, _4, _3, _2, _1, _0, R> FnExt<(_7, _6, _5, _4, _3, _2, _1, _0)> for F
where F: Fn(_7, _6, _5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_7, _6, _5, _4, _3, _2, _1, _0) -> R

Source§

impl<F, _8, _7, _6, _5, _4, _3, _2, _1, _0, R> FnExt<(_8, _7, _6, _5, _4, _3, _2, _1, _0)> for F
where F: Fn(_8, _7, _6, _5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_8, _7, _6, _5, _4, _3, _2, _1, _0) -> R

Source§

impl<F, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0, R> FnExt<(_9, _8, _7, _6, _5, _4, _3, _2, _1, _0)> for F
where F: Fn(_9, _8, _7, _6, _5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_9, _8, _7, _6, _5, _4, _3, _2, _1, _0) -> R

Source§

impl<F, _10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0, R> FnExt<(_10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0)> for F
where F: Fn(_10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0) -> R

Source§

impl<F, _11, _10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0, R> FnExt<(_11, _10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0)> for F
where F: Fn(_11, _10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0) -> R + 'static + Sync + ZeroSizedElseWrathOfTheGඞds,

Source§

type CSignature = extern "C" fn(_11, _10, _9, _8, _7, _6, _5, _4, _3, _2, _1, _0) -> R