diff --git a/tests/ui/pattern/const-error-ice-issue-148542.rs b/tests/ui/pattern/const-error-ice-issue-148542.rs new file mode 100644 index 0000000000000..3c3645dc2c018 --- /dev/null +++ b/tests/ui/pattern/const-error-ice-issue-148542.rs @@ -0,0 +1,13 @@ +//@ edition: 2021 + +// Regression test for #148542 +// Ensure we don't ICE with "Invalid `ConstKind` for `const_to_pat`: {const error}" + +fn foo() where &str:, { + //~^ ERROR `&` without an explicit lifetime name cannot be used here + match 42_u8 { + -10.. => {} + } +} + +fn main() {} diff --git a/tests/ui/pattern/const-error-ice-issue-148542.stderr b/tests/ui/pattern/const-error-ice-issue-148542.stderr new file mode 100644 index 0000000000000..ee39ba4feb093 --- /dev/null +++ b/tests/ui/pattern/const-error-ice-issue-148542.stderr @@ -0,0 +1,14 @@ +error[E0637]: `&` without an explicit lifetime name cannot be used here + --> $DIR/const-error-ice-issue-148542.rs:6:16 + | +LL | fn foo() where &str:, { + | ^ explicit lifetime name needed here + | +help: consider introducing a higher-ranked lifetime here + | +LL | fn foo() where for<'a> &'a str:, { + | +++++++ ++ + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0637`.