summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-vec-pattern-nesting.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/borrowck/borrowck-vec-pattern-nesting.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 '')
-rw-r--r--src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr115
1 files changed, 115 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr b/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr
new file mode 100644
index 000000000..ddd89afe5
--- /dev/null
+++ b/src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr
@@ -0,0 +1,115 @@
+error[E0506]: cannot assign to `vec[_]` because it is borrowed
+ --> $DIR/borrowck-vec-pattern-nesting.rs:9:13
+ |
+LL | [box ref _a, _, _] => {
+ | ------ borrow of `vec[_]` occurs here
+LL |
+LL | vec[0] = Box::new(4);
+ | ^^^^^^ assignment to borrowed `vec[_]` occurs here
+LL |
+LL | _a.use_ref();
+ | ------------ borrow later used here
+
+error[E0506]: cannot assign to `vec[_]` because it is borrowed
+ --> $DIR/borrowck-vec-pattern-nesting.rs:23:13
+ |
+LL | &mut [ref _b @ ..] => {
+ | ----------- borrow of `vec[_]` occurs here
+LL |
+LL | vec[0] = Box::new(4);
+ | ^^^^^^ assignment to borrowed `vec[_]` occurs here
+LL |
+LL | _b.use_ref();
+ | ------------ borrow later used here
+
+error[E0508]: cannot move out of type `[Box<isize>]`, a non-copy slice
+ --> $DIR/borrowck-vec-pattern-nesting.rs:34:11
+ |
+LL | match vec {
+ | ^^^ cannot move out of here
+...
+LL | &mut [_a,
+ | --
+ | |
+ | data moved here
+ | move occurs because `_a` has type `Box<isize>`, which does not implement the `Copy` trait
+ |
+help: consider removing the `&mut`
+ |
+LL ~ [_a,
+LL +
+LL +
+LL +
+LL + ..
+LL ~ ] => {
+ |
+
+error[E0508]: cannot move out of type `[Box<isize>]`, a non-copy slice
+ --> $DIR/borrowck-vec-pattern-nesting.rs:46:13
+ |
+LL | let a = vec[0];
+ | ^^^^^^
+ | |
+ | cannot move out of here
+ | move occurs because `vec[_]` has type `Box<isize>`, which does not implement the `Copy` trait
+ | help: consider borrowing here: `&vec[0]`
+
+error[E0508]: cannot move out of type `[Box<isize>]`, a non-copy slice
+ --> $DIR/borrowck-vec-pattern-nesting.rs:55:11
+ |
+LL | match vec {
+ | ^^^ cannot move out of here
+...
+LL | _b] => {}
+ | --
+ | |
+ | data moved here
+ | move occurs because `_b` has type `Box<isize>`, which does not implement the `Copy` trait
+ |
+help: consider removing the `&mut`
+ |
+LL ~ [
+LL +
+LL ~ _b] => {}
+ |
+
+error[E0508]: cannot move out of type `[Box<isize>]`, a non-copy slice
+ --> $DIR/borrowck-vec-pattern-nesting.rs:65:13
+ |
+LL | let a = vec[0];
+ | ^^^^^^
+ | |
+ | cannot move out of here
+ | move occurs because `vec[_]` has type `Box<isize>`, which does not implement the `Copy` trait
+ | help: consider borrowing here: `&vec[0]`
+
+error[E0508]: cannot move out of type `[Box<isize>]`, a non-copy slice
+ --> $DIR/borrowck-vec-pattern-nesting.rs:74:11
+ |
+LL | match vec {
+ | ^^^ cannot move out of here
+...
+LL | &mut [_a, _b, _c] => {}
+ | -----------------
+ | | | | |
+ | | | | ...and here
+ | | | ...and here
+ | | data moved here
+ | help: consider removing the `&mut`: `[_a, _b, _c]`
+ |
+ = note: move occurs because these variables have types that don't implement the `Copy` trait
+
+error[E0508]: cannot move out of type `[Box<isize>]`, a non-copy slice
+ --> $DIR/borrowck-vec-pattern-nesting.rs:85:13
+ |
+LL | let a = vec[0];
+ | ^^^^^^
+ | |
+ | cannot move out of here
+ | move occurs because `vec[_]` has type `Box<isize>`, which does not implement the `Copy` trait
+ | help: consider borrowing here: `&vec[0]`
+
+error: aborting due to 8 previous errors
+
+Some errors have detailed explanations: E0506, E0508.
+For more information about an error, try `rustc --explain E0506`.