summaryrefslogtreecommitdiffstats
path: root/src/test/ui/impl-trait/issue-87450.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/impl-trait/issue-87450.stderr')
-rw-r--r--src/test/ui/impl-trait/issue-87450.stderr27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/issue-87450.stderr b/src/test/ui/impl-trait/issue-87450.stderr
new file mode 100644
index 000000000..5019e544b
--- /dev/null
+++ b/src/test/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
+ |
+ = note: `#[warn(unconditional_recursion)]` on by default
+ = help: a `loop` may express intention better if this is on purpose
+
+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`.