summaryrefslogtreecommitdiffstats
path: root/src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:02:58 +0000
commit698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch)
tree173a775858bd501c378080a10dca74132f05bc50 /src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr
parentInitial commit. (diff)
downloadrustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz
rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr')
-rw-r--r--src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr b/src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr
new file mode 100644
index 000000000..85df5c1e5
--- /dev/null
+++ b/src/test/ui/closures/closure-bounds-static-cant-capture-borrowed.stderr
@@ -0,0 +1,44 @@
+error[E0521]: borrowed data escapes outside of function
+ --> $DIR/closure-bounds-static-cant-capture-borrowed.rs:5:5
+ |
+LL | fn foo(x: &()) {
+ | - - let's call the lifetime of this reference `'1`
+ | |
+ | `x` is a reference that is only valid in the function body
+LL | / bar(|| {
+LL | |
+LL | |
+LL | | let _ = x;
+LL | | })
+ | | ^
+ | | |
+ | |______`x` escapes the function body here
+ | argument requires that `'1` must outlive `'static`
+
+error[E0373]: closure may outlive the current function, but it borrows `x`, which is owned by the current function
+ --> $DIR/closure-bounds-static-cant-capture-borrowed.rs:5:9
+ |
+LL | bar(|| {
+ | ^^ may outlive borrowed value `x`
+...
+LL | let _ = x;
+ | - `x` is borrowed here
+ |
+note: function requires argument type to outlive `'static`
+ --> $DIR/closure-bounds-static-cant-capture-borrowed.rs:5:5
+ |
+LL | / bar(|| {
+LL | |
+LL | |
+LL | | let _ = x;
+LL | | })
+ | |______^
+help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword
+ |
+LL | bar(move || {
+ | ++++
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0373, E0521.
+For more information about an error, try `rustc --explain E0373`.