1 error[E0409]: variable `y` is bound inconsistently across alternatives separated by `|`
4 LL | (0, ref y) | (y, 0) => {}
5 | - ^ bound in different ways
9 error[E0308]: mismatched types
10 --> $DIR/E0409.rs:5:23
13 | - this expression has type `({integer}, {integer})`
14 LL | (0, ref y) | (y, 0) => {}
15 | ----- ^ expected `&{integer}`, found integer
17 | first introduced with type `&{integer}` here
19 = note: in the same arm, a binding must have the same type in all alternatives
20 help: consider adding `ref`
22 LL | (0, ref y) | (ref y, 0) => {}
25 error: aborting due to 2 previous errors
27 Some errors have detailed explanations: E0308, E0409.
28 For more information about an error, try `rustc --explain E0308`.