summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-3.rs')
-rw-r--r--tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-3.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-3.rs b/tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-3.rs
new file mode 100644
index 000000000..00f50c33e
--- /dev/null
+++ b/tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-3.rs
@@ -0,0 +1,17 @@
+// edition:2021
+
+#[derive(Debug)]
+struct Point {
+ x: String,
+ y: String,
+}
+fn main() {
+ let mut c = {
+ let mut p = Point {x: "1".to_string(), y: "2".to_string() };
+ || { //~ ERROR closure may outlive the current block, but it borrows `p`
+ let x = &mut p.x;
+ println!("{:?}", p);
+ }
+ };
+ c();
+}