blob: 13749804796b2c653d3df6bb5e00ef96793960e2 (
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
|
error[E0308]: mismatched types
--> $DIR/issue-76191.rs:13:9
|
LL | const RANGE: RangeInclusive<i32> = 0..=255;
| -------------------------------- constant defined here
...
LL | match n {
| - this expression has type `i32`
LL | RANGE => {}
| ^^^^^
| |
| expected `i32`, found struct `RangeInclusive`
| `RANGE` is interpreted as a constant, not a new binding
|
= note: expected type `i32`
found struct `RangeInclusive<i32>`
help: you may want to move the range into the match block
|
LL | 0..=255 => {}
| ~~~~~~~
error[E0308]: mismatched types
--> $DIR/issue-76191.rs:15:9
|
LL | const RANGE2: RangeInclusive<i32> = panic!();
| --------------------------------- constant defined here
...
LL | match n {
| - this expression has type `i32`
...
LL | RANGE2 => {}
| ^^^^^^
| |
| expected `i32`, found struct `RangeInclusive`
| `RANGE2` is interpreted as a constant, not a new binding
|
= note: expected type `i32`
found struct `RangeInclusive<i32>`
= note: constants only support matching by type, if you meant to match against a range of values, consider using a range pattern like `min ..= max` in the match block
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`.
|