chiark / gitweb /
Revert "Breaks inference"
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 20 Apr 2023 15:49:16 +0000 (16:49 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 20 Apr 2023 15:49:16 +0000 (16:49 +0100)
This reverts commit e26de1f788f5e2493ecd6a30c9c6e1ef14084071.

src/main.rs

index 802c5d1d79cd7f481e2bda3831ab10f5231114f8..3b6259cd4466e5fa7a00f37c1f073783a71544cf 100644 (file)
@@ -5,11 +5,11 @@ pub trait Callable<Args>: Any {
     type Output;
     fn callable_call(self, a: Args) -> Self::Output;
 }
-impl<A: 'static, O: 'static> Callable<(A,)> for fn(A) -> O {
+impl<A, F, O> Callable<(A,)> for F where F: Fn(A) -> O + 'static {
     type Output = O;
     fn callable_call(self, (a,): (A,)) -> O { (self)(a) }
 }
-impl<A: 'static, B: 'static, O: 'static> Callable<(A,B)> for fn(A,B) -> O {
+impl<A,B, F, O> Callable<(A,B)> for F where F: Fn(A,B) -> O + 'static {
     type Output = O;
     fn callable_call(self, (a,b): (A,B)) -> O { (self)(a,b) }
 }