Trait wasmi::IntoFunc

source ·
pub trait IntoFunc<T, Params, Results>: Send + Sync + 'static { }
Expand description

Closures and functions that can be used as host functions.

Implementors§

source§

impl<T, F, R> IntoFunc<T, (Caller<'_, T>,), R> for F
where F: Fn(Caller<'_, T>) -> R + Send + Sync + 'static, R: WasmRet,

source§

impl<T, F, R> IntoFunc<T, (), R> for F
where F: Fn() -> R + Send + Sync + 'static, R: WasmRet,

source§

impl<T, F, T1, R> IntoFunc<T, (Caller<'_, T>, T1), R> for F
where F: Fn(Caller<'_, T>, T1) -> R + Send + Sync + 'static, T1: WasmTy, R: WasmRet,

source§

impl<T, F, T1, R> IntoFunc<T, (T1,), R> for F
where F: Fn(T1) -> R + Send + Sync + 'static, T1: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, R> IntoFunc<T, (Caller<'_, T>, T1, T2), R> for F
where F: Fn(Caller<'_, T>, T1, T2) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, R> IntoFunc<T, (T1, T2), R> for F
where F: Fn(T1, T2) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, R> IntoFunc<T, (T1, T2, T3), R> for F
where F: Fn(T1, T2, T3) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, R> IntoFunc<T, (T1, T2, T3, T4), R> for F
where F: Fn(T1, T2, T3, T4) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, R> IntoFunc<T, (T1, T2, T3, T4, T5), R> for F
where F: Fn(T1, T2, T3, T4, T5) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, T14: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, T14: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, T14: WasmTy, T15: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, T14: WasmTy, T15: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> IntoFunc<T, (Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16), R> for F
where F: Fn(Caller<'_, T>, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, T14: WasmTy, T15: WasmTy, T16: WasmTy, R: WasmRet,

source§

impl<T, F, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> IntoFunc<T, (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16), R> for F
where F: Fn(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> R + Send + Sync + 'static, T1: WasmTy, T2: WasmTy, T3: WasmTy, T4: WasmTy, T5: WasmTy, T6: WasmTy, T7: WasmTy, T8: WasmTy, T9: WasmTy, T10: WasmTy, T11: WasmTy, T12: WasmTy, T13: WasmTy, T14: WasmTy, T15: WasmTy, T16: WasmTy, R: WasmRet,