]> git.lizzy.rs Git - rust.git/blob - src/test/ui/or-patterns/inconsistent-modes.stderr
Auto merge of #82864 - jyn514:short-circuit, r=GuillaumeGomez
[rust.git] / src / test / ui / or-patterns / inconsistent-modes.stderr
1 error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
2   --> $DIR/inconsistent-modes.rs:6:26
3    |
4 LL |     let (Ok(a) | Err(ref a)): Result<&u8, u8> = Ok(&0);
5    |             -            ^ bound in different ways
6    |             |
7    |             first binding
8
9 error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
10   --> $DIR/inconsistent-modes.rs:8:30
11    |
12 LL |     let (Ok(ref mut a) | Err(a)): Result<u8, &mut u8> = Ok(0);
13    |                     -        ^ bound in different ways
14    |                     |
15    |                     first binding
16
17 error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
18   --> $DIR/inconsistent-modes.rs:10:34
19    |
20 LL |     let (Ok(ref a) | Err(ref mut a)): Result<&u8, &mut u8> = Ok(&0);
21    |                 - first binding  ^ bound in different ways
22
23 error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
24   --> $DIR/inconsistent-modes.rs:13:40
25    |
26 LL |     let (Ok((ref a, b)) | Err((ref mut a, ref b))) = Ok((0, &0));
27    |                  - first binding       ^ bound in different ways
28
29 error[E0409]: variable `b` is bound inconsistently across alternatives separated by `|`
30   --> $DIR/inconsistent-modes.rs:13:47
31    |
32 LL |     let (Ok((ref a, b)) | Err((ref mut a, ref b))) = Ok((0, &0));
33    |                     - first binding           ^ bound in different ways
34
35 error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
36   --> $DIR/inconsistent-modes.rs:19:39
37    |
38 LL |     let (Ok(Ok(a) | Err(a)) | Err(ref a)) = Err(0);
39    |                         -             ^ bound in different ways
40    |                         |
41    |                         first binding
42
43 error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
44   --> $DIR/inconsistent-modes.rs:23:34
45    |
46 LL |     let (Ok([Ok((Ok(ref a) | Err(a),)) | Err(a)]) | Err(a)) = Err(&1);
47    |                         -        ^ bound in different ways
48    |                         |
49    |                         first binding
50
51 error[E0308]: mismatched types
52   --> $DIR/inconsistent-modes.rs:10:26
53    |
54 LL |     let (Ok(ref a) | Err(ref mut a)): Result<&u8, &mut u8> = Ok(&0);
55    |             -----        ^^^^^^^^^    -------------------- expected due to this
56    |             |            |
57    |             |            types differ in mutability
58    |             first introduced with type `&&u8` here
59    |
60    = note: expected type `&&u8`
61               found type `&mut &mut u8`
62    = note: a binding must have the same type in all alternatives
63
64 error[E0308]: mismatched types
65   --> $DIR/inconsistent-modes.rs:13:32
66    |
67 LL |     let (Ok((ref a, b)) | Err((ref mut a, ref b))) = Ok((0, &0));
68    |              -----             ^^^^^^^^^             ----------- this expression has type `Result<({integer}, &{integer}), (_, _)>`
69    |              |                 |
70    |              |                 types differ in mutability
71    |              first introduced with type `&{integer}` here
72    |
73    = note: expected type `&{integer}`
74               found type `&mut _`
75    = note: a binding must have the same type in all alternatives
76
77 error: aborting due to 9 previous errors
78
79 Some errors have detailed explanations: E0308, E0409.
80 For more information about an error, try `rustc --explain E0308`.