error[E0308]: mismatched types --> $DIR/issue-76191.rs:13:9 | LL | const RANGE: RangeInclusive = 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` 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 = 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` = 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`.