type Output;
fn callable_call(self, a: Args) -> Self::Output;
}
-impl<A, F, O> Callable<(A,)> for F where F: Fn(A) -> O + 'static {
+impl<A: 'static, O: 'static> Callable<(A,)> for fn(A) -> O {
type Output = O;
fn callable_call(self, (a,): (A,)) -> O { (self)(a) }
}
-impl<A,B, F, O> Callable<(A,B)> for F where F: Fn(A,B) -> O + 'static {
+impl<A: 'static, B: 'static, O: 'static> Callable<(A,B)> for fn(A,B) -> O {
type Output = O;
fn callable_call(self, (a,b): (A,B)) -> O { (self)(a,b) }
}