diff options
Diffstat (limited to 'src/test/ui/closures/issue-23012-supertrait-signature-inference.rs')
-rw-r--r-- | src/test/ui/closures/issue-23012-supertrait-signature-inference.rs | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/src/test/ui/closures/issue-23012-supertrait-signature-inference.rs b/src/test/ui/closures/issue-23012-supertrait-signature-inference.rs deleted file mode 100644 index 5899b703e..000000000 --- a/src/test/ui/closures/issue-23012-supertrait-signature-inference.rs +++ /dev/null @@ -1,29 +0,0 @@ -// check-pass -// Checks that we can infer a closure signature even if the `FnOnce` bound is -// a supertrait of the obligations we have currently registered for the Ty var. - -pub trait Receive<T, E>: FnOnce(Result<T, E>) { - fn receive(self, res: Result<T, E>); -} - -impl<T, E, F: FnOnce(Result<T, E>)> Receive<T, E> for F { - fn receive(self, res: Result<T, E>) { - self(res) - } -} - -pub trait Async<T, E> { - fn receive<F: Receive<T, E>>(self, f: F); -} - -impl<T, E> Async<T, E> for Result<T, E> { - fn receive<F: Receive<T, E>>(self, f: F) { - f(self) - } -} - -pub fn main() { - Ok::<u32, ()>(123).receive(|res| { - res.unwrap(); - }); -} |