about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/impl-trait/impl-fn-predefined-lifetimes.rs4
-rw-r--r--src/test/ui/impl-trait/impl-fn-predefined-lifetimes.stderr25
2 files changed, 20 insertions, 9 deletions
diff --git a/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.rs b/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.rs
index 5e2379b2f9a..15778662375 100644
--- a/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.rs
+++ b/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.rs
@@ -2,8 +2,10 @@
 use std::fmt::Debug;
 
 fn a<'a>() -> impl Fn(&'a u8) -> (impl Debug + '_) {
-    //~^ ERROR hidden type for `impl Debug` captures lifetime that does not appear in bounds
+    //~^ ERROR cannot resolve opaque type
+
     |x| x
+    //~^ ERROR concrete type differs from previous defining opaque type use
 }
 
 fn _b<'a>() -> impl Fn(&'a u8) -> (impl Debug + 'a) {
diff --git a/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.stderr b/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.stderr
index 1247ffad7c3..7747319c153 100644
--- a/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.stderr
+++ b/src/test/ui/impl-trait/impl-fn-predefined-lifetimes.stderr
@@ -1,15 +1,24 @@
-error[E0700]: hidden type for `impl Debug` captures lifetime that does not appear in bounds
-  --> $DIR/impl-fn-predefined-lifetimes.rs:4:35
+error: concrete type differs from previous defining opaque type use
+  --> $DIR/impl-fn-predefined-lifetimes.rs:7:9
    |
-LL | fn a<'a>() -> impl Fn(&'a u8) -> (impl Debug + '_) {
-   |                                   ^^^^^^^^^^^^^^^
+LL |     |x| x
+   |         ^ expected `impl Debug + '_`, got `&u8`
    |
-note: hidden type `&'<empty> u8` captures lifetime smaller than the function body
+note: previous use here
+  --> $DIR/impl-fn-predefined-lifetimes.rs:7:5
+   |
+LL |     |x| x
+   |     ^^^^^
+
+error[E0720]: cannot resolve opaque type
   --> $DIR/impl-fn-predefined-lifetimes.rs:4:35
    |
 LL | fn a<'a>() -> impl Fn(&'a u8) -> (impl Debug + '_) {
-   |                                   ^^^^^^^^^^^^^^^
+   |                                   ^^^^^^^^^^^^^^^ recursive opaque type
+...
+LL |     |x| x
+   |     ----- returning here with type `[closure@$DIR/impl-fn-predefined-lifetimes.rs:7:5: 7:8]`
 
-error: aborting due to previous error
+error: aborting due to 2 previous errors
 
-For more information about this error, try `rustc --explain E0700`.
+For more information about this error, try `rustc --explain E0720`.