pub trait RegisterFn<FN, ARGS, RET> {
fn register_fn(&mut self, name: &str, f: FN);
}
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
A: Any + Clone,
B: Any + Clone,
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<A>, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
A: Any + Clone,
B: Any + Clone,
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<A>, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
A: Any + Clone,
B: Any + Clone,
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
B: Any + Clone,
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<B>, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
B: Any + Clone,
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<B>, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
B: Any + Clone,
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<C>, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<C>, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
C: Any + Clone,
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<D>, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<D>, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
D: Any + Clone,
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<E>, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<E>, F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
E: Any + Clone,
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (F, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<F>, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<F>, G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
F: Any + Clone,
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut F, G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (G, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<G>, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<G>, H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
G: Any + Clone,
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut G, H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (H, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<H>, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<H, I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<H>, I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
H: Any + Clone,
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut H, I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (I, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<I>, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<I, J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<I>, J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
I: Any + Clone,
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut I, J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (J, K, L, M, N, O, P, Q, R, S), RET> for Engine where
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<J>, K, L, M, N, O, P, Q, R, S), RET> for Engine where
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<J, K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<J>, K, L, M, N, O, P, Q, R, S), RET> for Engine where
J: Any + Clone,
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut J, K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (K, L, M, N, O, P, Q, R, S), RET> for Engine where
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<K>, L, M, N, O, P, Q, R, S), RET> for Engine where
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<K, L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<K>, L, M, N, O, P, Q, R, S), RET> for Engine where
K: Any + Clone,
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut K, L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (L, M, N, O, P, Q, R, S), RET> for Engine where
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<L>, M, N, O, P, Q, R, S), RET> for Engine where
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<L, M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<L>, M, N, O, P, Q, R, S), RET> for Engine where
L: Any + Clone,
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut L, M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (M, N, O, P, Q, R, S), RET> for Engine where
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<M>, N, O, P, Q, R, S), RET> for Engine where
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<M, N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<M>, N, O, P, Q, R, S), RET> for Engine where
M: Any + Clone,
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut M, N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (N, O, P, Q, R, S), RET> for Engine where
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<N>, O, P, Q, R, S), RET> for Engine where
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<N, O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<N>, O, P, Q, R, S), RET> for Engine where
N: Any + Clone,
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut N, O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<O, P, Q, R, S, FN, RET> RegisterFn<FN, (O, P, Q, R, S), RET> for Engine where
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<O, P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<O>, P, Q, R, S), RET> for Engine where
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<O, P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<O>, P, Q, R, S), RET> for Engine where
O: Any + Clone,
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut O, P, Q, R, S) -> RET + 'static,
RET: Any,
impl<P, Q, R, S, FN, RET> RegisterFn<FN, (P, Q, R, S), RET> for Engine where
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(P, Q, R, S) -> RET + 'static,
RET: Any,
impl<P, Q, R, S, FN, RET> RegisterFn<FN, (Ref<P>, Q, R, S), RET> for Engine where
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&P, Q, R, S) -> RET + 'static,
RET: Any,
impl<P, Q, R, S, FN, RET> RegisterFn<FN, (Mut<P>, Q, R, S), RET> for Engine where
P: Any + Clone,
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut P, Q, R, S) -> RET + 'static,
RET: Any,
impl<Q, R, S, FN, RET> RegisterFn<FN, (Q, R, S), RET> for Engine where
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(Q, R, S) -> RET + 'static,
RET: Any,
impl<Q, R, S, FN, RET> RegisterFn<FN, (Ref<Q>, R, S), RET> for Engine where
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&Q, R, S) -> RET + 'static,
RET: Any,
impl<Q, R, S, FN, RET> RegisterFn<FN, (Mut<Q>, R, S), RET> for Engine where
Q: Any + Clone,
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut Q, R, S) -> RET + 'static,
RET: Any,
impl<R, S, FN, RET> RegisterFn<FN, (R, S), RET> for Engine where
R: Any + Clone,
S: Any + Clone,
FN: Fn(R, S) -> RET + 'static,
RET: Any,
impl<R, S, FN, RET> RegisterFn<FN, (Ref<R>, S), RET> for Engine where
R: Any + Clone,
S: Any + Clone,
FN: Fn(&R, S) -> RET + 'static,
RET: Any,
impl<R, S, FN, RET> RegisterFn<FN, (Mut<R>, S), RET> for Engine where
R: Any + Clone,
S: Any + Clone,
FN: Fn(&mut R, S) -> RET + 'static,
RET: Any,
impl<S, FN, RET> RegisterFn<FN, (S,), RET> for Engine where
S: Any + Clone,
FN: Fn(S) -> RET + 'static,
RET: Any,
impl<S, FN, RET> RegisterFn<FN, (Ref<S>,), RET> for Engine where
S: Any + Clone,
FN: Fn(&S) -> RET + 'static,
RET: Any,
impl<S, FN, RET> RegisterFn<FN, (Mut<S>,), RET> for Engine where
S: Any + Clone,
FN: Fn(&mut S) -> RET + 'static,
RET: Any,
impl<FN, RET> RegisterFn<FN, (), RET> for Engine where
FN: Fn() -> RET + 'static,
RET: Any,