1 error[E0382]: borrow of moved value: `x.0.0`
2 --> $DIR/or-patterns.rs:8:5
4 LL | ((y, _) | (_, y),) => (),
8 | ^^^^^^^ value borrowed here after move
10 = note: move occurs because `x.0.0` has type `String`, which does not implement the `Copy` trait
11 help: borrow this binding in the pattern to avoid moving the value
13 LL | ((ref y, _) | (_, y),) => (),
16 error[E0382]: borrow of moved value: `x.0.1`
17 --> $DIR/or-patterns.rs:10:5
19 LL | ((y, _) | (_, y),) => (),
23 | ^^^^^^^ value borrowed here after move
25 = note: move occurs because `x.0.1` has type `String`, which does not implement the `Copy` trait
26 help: borrow this binding in the pattern to avoid moving the value
28 LL | ((y, _) | (_, ref y),) => (),
31 error[E0502]: cannot borrow `x.0.0` as mutable because it is also borrowed as immutable
32 --> $DIR/or-patterns.rs:18:5
34 LL | ((ref y, _) | (_, ref y),) => y,
35 | ----- immutable borrow occurs here
38 | ^^^^^^^^^^^ mutable borrow occurs here
41 | - immutable borrow later used here
43 error[E0502]: cannot borrow `x.0.1` as mutable because it is also borrowed as immutable
44 --> $DIR/or-patterns.rs:20:5
46 LL | ((ref y, _) | (_, ref y),) => y,
47 | ----- immutable borrow occurs here
50 | ^^^^^^^^^^^ mutable borrow occurs here
53 | - immutable borrow later used here
55 error[E0502]: cannot borrow `x.0.0` as immutable because it is also borrowed as mutable
56 --> $DIR/or-patterns.rs:29:5
58 LL | ((ref mut y, _) | (_, ref mut y),) => y,
59 | --------- mutable borrow occurs here
62 | ^^^^^^^ immutable borrow occurs here
65 | - mutable borrow later used here
67 error[E0502]: cannot borrow `x.0.1` as immutable because it is also borrowed as mutable
68 --> $DIR/or-patterns.rs:31:5
70 LL | ((ref mut y, _) | (_, ref mut y),) => y,
71 | --------- mutable borrow occurs here
74 | ^^^^^^^ immutable borrow occurs here
77 | - mutable borrow later used here
79 error[E0382]: borrow of moved value: `x.0.0`
80 --> $DIR/or-patterns.rs:38:5
82 LL | let ((y, _) | (_, y),) = x;
85 | ^^^^^^^ value borrowed here after move
87 = note: move occurs because `x.0.0` has type `String`, which does not implement the `Copy` trait
88 help: borrow this binding in the pattern to avoid moving the value
90 LL | let ((ref y, _) | (_, y),) = x;
93 error[E0382]: borrow of moved value: `x.0.1`
94 --> $DIR/or-patterns.rs:40:5
96 LL | let ((y, _) | (_, y),) = x;
100 | ^^^^^^^ value borrowed here after move
102 = note: move occurs because `x.0.1` has type `String`, which does not implement the `Copy` trait
103 help: borrow this binding in the pattern to avoid moving the value
105 LL | let ((y, _) | (_, ref y),) = x;
108 error[E0502]: cannot borrow `x.0.0` as mutable because it is also borrowed as immutable
109 --> $DIR/or-patterns.rs:46:5
111 LL | let ((ref r, _) | (_, ref r),) = x;
112 | ----- immutable borrow occurs here
114 | ^^^^^^^^^^^ mutable borrow occurs here
117 | - immutable borrow later used here
119 error[E0502]: cannot borrow `x.0.1` as mutable because it is also borrowed as immutable
120 --> $DIR/or-patterns.rs:48:5
122 LL | let ((ref r, _) | (_, ref r),) = x;
123 | ----- immutable borrow occurs here
126 | ^^^^^^^^^^^ mutable borrow occurs here
129 | - immutable borrow later used here
131 error[E0502]: cannot borrow `x.0.0` as immutable because it is also borrowed as mutable
132 --> $DIR/or-patterns.rs:55:5
134 LL | let ((ref mut r, _) | (_, ref mut r),) = x;
135 | --------- mutable borrow occurs here
137 | ^^^^^^^ immutable borrow occurs here
140 | - mutable borrow later used here
142 error[E0502]: cannot borrow `x.0.1` as immutable because it is also borrowed as mutable
143 --> $DIR/or-patterns.rs:57:5
145 LL | let ((ref mut r, _) | (_, ref mut r),) = x;
146 | --------- mutable borrow occurs here
149 | ^^^^^^^ immutable borrow occurs here
152 | - mutable borrow later used here
154 error: aborting due to 12 previous errors
156 Some errors have detailed explanations: E0382, E0502.
157 For more information about an error, try `rustc --explain E0382`.