summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/region-escape-via-bound.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/region-escape-via-bound.stderr')
-rw-r--r--tests/ui/impl-trait/region-escape-via-bound.stderr17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/region-escape-via-bound.stderr b/tests/ui/impl-trait/region-escape-via-bound.stderr
new file mode 100644
index 000000000..44a790cb1
--- /dev/null
+++ b/tests/ui/impl-trait/region-escape-via-bound.stderr
@@ -0,0 +1,17 @@
+error[E0700]: hidden type for `impl Trait<'y>` captures lifetime that does not appear in bounds
+ --> $DIR/region-escape-via-bound.rs:17:5
+ |
+LL | fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y>
+ | -- hidden type `Cell<&'x u32>` captures the lifetime `'x` as defined here
+...
+LL | x
+ | ^
+ |
+help: to declare that `impl Trait<'y>` captures `'x`, you can add an explicit `'x` lifetime bound
+ |
+LL | fn foo<'x, 'y>(x: Cell<&'x u32>) -> impl Trait<'y> + 'x
+ | ++++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0700`.