about summary refs log tree commit diff
path: root/tests/ui/impl-trait/issue-87450.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/issue-87450.stderr')
-rw-r--r--tests/ui/impl-trait/issue-87450.stderr27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/issue-87450.stderr b/tests/ui/impl-trait/issue-87450.stderr
new file mode 100644
index 00000000000..173fca63fa0
--- /dev/null
+++ b/tests/ui/impl-trait/issue-87450.stderr
@@ -0,0 +1,27 @@
+warning: function cannot return without recursing
+  --> $DIR/issue-87450.rs:5:1
+   |
+LL | fn foo() -> impl Fn() {
+   | ^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
+...
+LL |     wrap(wrap(wrap(wrap(wrap(wrap(wrap(foo())))))))
+   |                                        ----- recursive call site
+   |
+   = help: a `loop` may express intention better if this is on purpose
+   = note: `#[warn(unconditional_recursion)]` on by default
+
+error[E0720]: cannot resolve opaque type
+  --> $DIR/issue-87450.rs:5:13
+   |
+LL | fn foo() -> impl Fn() {
+   |             ^^^^^^^^^ recursive opaque type
+...
+LL |     wrap(wrap(wrap(wrap(wrap(wrap(wrap(foo())))))))
+   |     ----------------------------------------------- returning here with type `impl Fn()`
+...
+LL | fn wrap(f: impl Fn()) -> impl Fn() {
+   |                          --------- returning this opaque type `impl Fn()`
+
+error: aborting due to previous error; 1 warning emitted
+
+For more information about this error, try `rustc --explain E0720`.