summaryrefslogtreecommitdiffstats
path: root/src/test/ui/regions/regions-addr-of-upvar-self.stderr
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/regions/regions-addr-of-upvar-self.stderr35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/ui/regions/regions-addr-of-upvar-self.stderr b/src/test/ui/regions/regions-addr-of-upvar-self.stderr
new file mode 100644
index 000000000..c16a6f858
--- /dev/null
+++ b/src/test/ui/regions/regions-addr-of-upvar-self.stderr
@@ -0,0 +1,35 @@
+error: lifetime may not live long enough
+ --> $DIR/regions-addr-of-upvar-self.rs:8:20
+ |
+LL | let _f = || {
+ | -- lifetime `'1` represents this closure's body
+LL | let p: &'static mut usize = &mut self.food;
+ | ^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
+ |
+ = note: closure implements `FnMut`, so references to captured variables can't escape the closure
+
+error: lifetime may not live long enough
+ --> $DIR/regions-addr-of-upvar-self.rs:8:20
+ |
+LL | pub fn chase_cat(&mut self) {
+ | - let's call the lifetime of this reference `'1`
+LL | let _f = || {
+LL | let p: &'static mut usize = &mut self.food;
+ | ^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
+
+error[E0597]: `self` does not live long enough
+ --> $DIR/regions-addr-of-upvar-self.rs:8:46
+ |
+LL | let _f = || {
+ | -- value captured here
+LL | let p: &'static mut usize = &mut self.food;
+ | ------------------ ^^^^^^^^^ borrowed value does not live long enough
+ | |
+ | type annotation requires that `self` is borrowed for `'static`
+...
+LL | }
+ | - `self` dropped here while still borrowed
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0597`.