diff options
| author | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-21 15:54:00 +0000 |
|---|---|---|
| committer | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-21 16:18:27 +0000 |
| commit | d9165b2ed6e944ab40d0ea6051c3cfe51568b52e (patch) | |
| tree | 0a0a2382cbae006a7130267aaa9b33710a1f4e04 | |
| parent | cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3 (diff) | |
| download | rust-d9165b2ed6e944ab40d0ea6051c3cfe51568b52e.tar.gz rust-d9165b2ed6e944ab40d0ea6051c3cfe51568b52e.zip | |
add test for issue 135289
| -rw-r--r-- | tests/ui/resolve/auxiliary/fake_matches.rs | 13 | ||||
| -rw-r--r-- | tests/ui/resolve/const-with-typo-in-pattern-binding-ice-135289.rs | 17 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/ui/resolve/auxiliary/fake_matches.rs b/tests/ui/resolve/auxiliary/fake_matches.rs new file mode 100644 index 00000000000..6d42972cbac --- /dev/null +++ b/tests/ui/resolve/auxiliary/fake_matches.rs @@ -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)|+ => (), + _ => (), + } + }; +} diff --git a/tests/ui/resolve/const-with-typo-in-pattern-binding-ice-135289.rs b/tests/ui/resolve/const-with-typo-in-pattern-binding-ice-135289.rs new file mode 100644 index 00000000000..8267a9250ec --- /dev/null +++ b/tests/ui/resolve/const-with-typo-in-pattern-binding-ice-135289.rs @@ -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); +} |
