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: WasmType, R: WasmRet,

source§

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