pub fn function2<Z, R, A, B>(f: Z) -> Function<Z, (A, B), R>where
Z: FnMut(A, B) -> R,
Expand description
Wraps a type that implements FnMut
so that it can be used by tlua.
This is needed because of a limitation in Rust’s inferrence system. Even though in
practice functions and closures always have a fixed number of parameters, the FnMut
trait of Rust was designed so that it allows calling the same closure with a varying
number of parameters. The consequence however is that there is no way of inferring
with the trait alone many parameters a function or closure expects.