add test for issue 135289

This commit is contained in:
Rémy Rakic
2025-01-21 15:54:00 +00:00
parent cd805f09ff
commit d9165b2ed6
2 changed files with 30 additions and 0 deletions
@@ -0,0 +1,13 @@
// Helper for test tests/ui/resolve/const-with-typo-in-pattern-binding-ice-135289.rs
//@ edition: 2018
#[macro_export]
macro_rules! assert_matches {
( $e:expr , $($pat:pat)|+ ) => {
match $e {
$($pat)|+ => (),
_ => (),
}
};
}
@@ -0,0 +1,17 @@
// This is a non-regression test for issue 135289, where the "const with typo in pattern" diagnostic
// caused an ICE when unexpectedly pretty printing a type for unreachable arms via a macro defined
// in a dependency.
#![warn(unreachable_patterns)] // needed to reproduce the ICE described in #135289
//@ check-pass
//@ aux-build: fake_matches.rs
extern crate fake_matches;
const _A: u64 = 0;
pub fn f() -> u64 {
0
}
fn main() {
fake_matches::assert_matches!(f(), _non_existent);
}