summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-03-29 23:36:27 +0000
committerMichael Goulet <michael@errs.io>2023-03-30 15:11:42 +0000
commit177997e3833d48973e7856e14f2935340b1862f1 (patch)
treebbe49586e7b7faa5f91a1fabafc62f525702c064 /tests
parent8a7ca936e61d04399198911ee2b07ac110bf17b0 (diff)
downloadrust-177997e3833d48973e7856e14f2935340b1862f1.tar.gz
Closures always implement FnOnce in new solver
Diffstat (limited to 'tests')
-rw-r--r--tests/ui/traits/new-solver/closure-inference-guidance.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/ui/traits/new-solver/closure-inference-guidance.rs b/tests/ui/traits/new-solver/closure-inference-guidance.rs
new file mode 100644
index 00000000000..d2ad0cc0316
--- /dev/null
+++ b/tests/ui/traits/new-solver/closure-inference-guidance.rs
@@ -0,0 +1,11 @@
+// compile-flags: -Ztrait-solver=next
+// check-pass
+
+fn foo(i: isize) -> isize { i + 1 }
+
+fn apply<A, F>(f: F, v: A) -> A where F: FnOnce(A) -> A { f(v) }
+
+pub fn main() {
+ let f = |i| foo(i);
+ assert_eq!(apply(f, 2), 3);
+}