diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr | |
parent | Initial commit. (diff) | |
download | rustc-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/borrowck/borrowck-vec-pattern-nesting.stderr')
-rw-r--r-- | src/test/ui/borrowck/borrowck-vec-pattern-nesting.stderr | 115 |
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`. |