rust/tests/ui/issues/issue-76191.stderr

53 lines
1.9 KiB
Plaintext

error[E0080]: evaluation of constant value failed
--> $DIR/issue-76191.rs:8:37
|
LL | const RANGE2: RangeInclusive<i32> = panic!();
| ^^^^^^^^ the evaluated program panicked at 'explicit panic', $DIR/issue-76191.rs:8:37
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0308]: mismatched types
--> $DIR/issue-76191.rs:14:9
|
LL | const RANGE: RangeInclusive<i32> = 0..=255;
| -------------------------------- constant defined here
...
LL | match n {
| - this expression has type `i32`
LL | RANGE => {}
| ^^^^^
| |
| expected `i32`, found `RangeInclusive<i32>`
| `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:16:9
|
LL | const RANGE2: RangeInclusive<i32> = panic!();
| --------------------------------- constant defined here
...
LL | match n {
| - this expression has type `i32`
...
LL | RANGE2 => {}
| ^^^^^^
| |
| expected `i32`, found `RangeInclusive<i32>`
| `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 3 previous errors
Some errors have detailed explanations: E0080, E0308.
For more information about an error, try `rustc --explain E0080`.