summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
commit64d98f8ee037282c35007b64c2649055c56af1db (patch)
tree5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr
parentAdding debian version 1.67.1+dfsg1-1. (diff)
downloadrustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz
rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr')
-rw-r--r--tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr217
1 files changed, 217 insertions, 0 deletions
diff --git a/tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr b/tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr
new file mode 100644
index 000000000..50eee1049
--- /dev/null
+++ b/tests/ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.stderr
@@ -0,0 +1,217 @@
+error: cannot borrow value as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:36:9
+ |
+LL | ref foo @ [.., ref mut bar] => (),
+ | -------^^^^^^^^-----------^
+ | | |
+ | | mutable borrow, by `bar`, occurs here
+ | immutable borrow, by `foo`, occurs here
+
+error: cannot borrow value as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:120:9
+ |
+LL | ref foo @ Some(box ref mut s) => (),
+ | -------^^^^^^^^^^^^---------^
+ | | |
+ | | mutable borrow, by `s`, occurs here
+ | immutable borrow, by `foo`, occurs here
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:18:5
+ |
+LL | fn bindings_after_at_slice_patterns_move_binding(x: [String; 4]) {
+ | - move occurs because `x` has type `[String; 4]`, which does not implement the `Copy` trait
+LL | match x {
+LL | a @ [.., _] => (),
+ | - value moved here
+...
+LL | &x;
+ | ^^ value borrowed here after move
+ |
+help: borrow this binding in the pattern to avoid moving the value
+ |
+LL | ref a @ [.., _] => (),
+ | +++
+
+error[E0502]: cannot borrow `x` as immutable because it is also borrowed as mutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:28:5
+ |
+LL | ref mut foo @ [.., _] => Some(foo),
+ | ----------- mutable borrow occurs here
+...
+LL | &x;
+ | ^^ immutable borrow occurs here
+...
+LL | drop(r);
+ | - mutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:50:5
+ |
+LL | [ref foo @ .., ref bar] => Some(foo),
+ | ------- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:62:5
+ |
+LL | ref foo @ [.., ref bar] => Some(foo),
+ | ------- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:76:5
+ |
+LL | fn bindings_after_at_or_patterns_move(x: Option<Test>) {
+ | - move occurs because `x` has type `Option<Test>`, which does not implement the `Copy` trait
+LL | match x {
+LL | foo @ Some(Test::Foo | Test::Bar) => (),
+ | --- value moved here
+...
+LL | &x;
+ | ^^ value borrowed here after move
+ |
+help: borrow this binding in the pattern to avoid moving the value
+ |
+LL | ref foo @ Some(Test::Foo | Test::Bar) => (),
+ | +++
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:86:5
+ |
+LL | ref foo @ Some(Test::Foo | Test::Bar) => Some(foo),
+ | ------- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0502]: cannot borrow `x` as immutable because it is also borrowed as mutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:98:5
+ |
+LL | ref mut foo @ Some(Test::Foo | Test::Bar) => Some(foo),
+ | ----------- mutable borrow occurs here
+...
+LL | &x;
+ | ^^ immutable borrow occurs here
+...
+LL | drop(r);
+ | - mutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:112:5
+ |
+LL | ref foo @ Some(box ref s) => Some(foo),
+ | ------- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0382]: borrow of moved value: `x`
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:134:5
+ |
+LL | fn bindings_after_at_slice_patterns_or_patterns_moves(x: [Option<Test>; 4]) {
+ | - move occurs because `x` has type `[Option<Test>; 4]`, which does not implement the `Copy` trait
+LL | match x {
+LL | a @ [.., Some(Test::Foo | Test::Bar)] => (),
+ | - value moved here
+...
+LL | &x;
+ | ^^ value borrowed here after move
+ |
+help: borrow this binding in the pattern to avoid moving the value
+ |
+LL | ref a @ [.., Some(Test::Foo | Test::Bar)] => (),
+ | +++
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:144:5
+ |
+LL | ref a @ [ref b @ .., Some(Test::Foo | Test::Bar)] => Some(a),
+ | ----- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:156:5
+ |
+LL | ref a @ [ref b @ .., Some(Test::Foo | Test::Bar)] => Some(b),
+ | ----- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:170:5
+ |
+LL | [_, ref a @ Some(box ref b), ..] => Some(a),
+ | ----- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:186:5
+ |
+LL | [_, ref a @ Some(box Test::Foo | box Test::Bar), ..] => Some(a),
+ | ----- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error[E0502]: cannot borrow `x` as immutable because it is also borrowed as mutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:200:5
+ |
+LL | [_, ref mut a @ Some(box Test::Foo | box Test::Bar), ..] => Some(a),
+ | --------- mutable borrow occurs here
+...
+LL | &x;
+ | ^^ immutable borrow occurs here
+...
+LL | drop(r);
+ | - mutable borrow later used here
+
+error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable
+ --> $DIR/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs:214:5
+ |
+LL | ref a @ [_, ref b @ Some(box Test::Foo | box Test::Bar), ..] => Some(a),
+ | ----- immutable borrow occurs here
+...
+LL | &mut x;
+ | ^^^^^^ mutable borrow occurs here
+...
+LL | drop(r);
+ | - immutable borrow later used here
+
+error: aborting due to 17 previous errors
+
+Some errors have detailed explanations: E0382, E0502.
+For more information about an error, try `rustc --explain E0382`.