summaryrefslogtreecommitdiffstats
path: root/src/test/ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs')
-rw-r--r--src/test/ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs b/src/test/ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs
new file mode 100644
index 000000000..15711da4b
--- /dev/null
+++ b/src/test/ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs
@@ -0,0 +1,19 @@
+// build-pass (FIXME(62277): could be check-pass?)
+
+fn with_closure<F, A>(_: F)
+ where F: FnOnce(A, &u32)
+{
+}
+
+fn foo() {
+ // This version works; we infer `A` to be `u32`, and take the type
+ // of `y` to be `&u32`.
+ with_closure(|x: u32, y| {});
+}
+
+fn bar<'x>(x: &'x u32) {
+ // Same.
+ with_closure(|x: &'x u32, y| {});
+}
+
+fn main() { }