summaryrefslogtreecommitdiffstats
path: root/tests/ui/or-patterns/inconsistent-modes.stderr
blob: 19618d336f88387c1f95ecb434af870769ab8c93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:6:26
   |
LL |     let (Ok(a) | Err(ref a)): Result<&u8, u8> = Ok(&0);
   |             -            ^ bound in different ways
   |             |
   |             first binding

error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:8:30
   |
LL |     let (Ok(ref mut a) | Err(a)): Result<u8, &mut u8> = Ok(0);
   |                     -        ^ bound in different ways
   |                     |
   |                     first binding

error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:10:34
   |
LL |     let (Ok(ref a) | Err(ref mut a)): Result<&u8, &mut u8> = Ok(&0);
   |                 - first binding  ^ bound in different ways

error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:13:40
   |
LL |     let (Ok((ref a, b)) | Err((ref mut a, ref b))) = Ok((0, &0));
   |                  - first binding       ^ bound in different ways

error[E0409]: variable `b` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:13:47
   |
LL |     let (Ok((ref a, b)) | Err((ref mut a, ref b))) = Ok((0, &0));
   |                     - first binding           ^ bound in different ways

error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:19:39
   |
LL |     let (Ok(Ok(a) | Err(a)) | Err(ref a)) = Err(0);
   |                         -             ^ bound in different ways
   |                         |
   |                         first binding

error[E0409]: variable `a` is bound inconsistently across alternatives separated by `|`
  --> $DIR/inconsistent-modes.rs:23:34
   |
LL |     let (Ok([Ok((Ok(ref a) | Err(a),)) | Err(a)]) | Err(a)) = Err(&1);
   |                         -        ^ bound in different ways
   |                         |
   |                         first binding

error[E0308]: mismatched types
  --> $DIR/inconsistent-modes.rs:10:26
   |
LL |     let (Ok(ref a) | Err(ref mut a)): Result<&u8, &mut u8> = Ok(&0);
   |             -----        ^^^^^^^^^    -------------------- expected due to this
   |             |            |
   |             |            types differ in mutability
   |             first introduced with type `&&u8` here
   |
   = note:      expected reference `&&_`
           found mutable reference `&mut &mut _`
   = note: a binding must have the same type in all alternatives

error[E0308]: mismatched types
  --> $DIR/inconsistent-modes.rs:13:32
   |
LL |     let (Ok((ref a, b)) | Err((ref mut a, ref b))) = Ok((0, &0));
   |              -----             ^^^^^^^^^             ----------- this expression has type `Result<({integer}, &{integer}), (_, _)>`
   |              |                 |
   |              |                 types differ in mutability
   |              first introduced with type `&{integer}` here
   |
   = note:      expected reference `&{integer}`
           found mutable reference `&mut _`
   = note: a binding must have the same type in all alternatives

error: aborting due to 9 previous errors

Some errors have detailed explanations: E0308, E0409.
For more information about an error, try `rustc --explain E0308`.