about summary refs log tree commit diff
path: root/tests/ui/impl-trait/issue-87450.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/issue-87450.rs')
-rw-r--r--tests/ui/impl-trait/issue-87450.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/issue-87450.rs b/tests/ui/impl-trait/issue-87450.rs
new file mode 100644
index 00000000000..983ef7cfbe0
--- /dev/null
+++ b/tests/ui/impl-trait/issue-87450.rs
@@ -0,0 +1,16 @@
+fn bar() -> impl Fn() {
+    wrap(wrap(wrap(wrap(foo()))))
+}
+
+fn foo() -> impl Fn() {
+    //~^ WARNING 5:1: 5:22: function cannot return without recursing [unconditional_recursion]
+    //~| ERROR 5:13: 5:22: cannot resolve opaque type [E0720]
+    wrap(wrap(wrap(wrap(wrap(wrap(wrap(foo())))))))
+}
+
+fn wrap(f: impl Fn()) -> impl Fn() {
+    move || f()
+}
+
+fn main() {
+}