Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/missing_match_arms.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/missing_match_arms.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/crates/ide-diagnostics/src/handlers/missing_match_arms.rs b/crates/ide-diagnostics/src/handlers/missing_match_arms.rs
index 17dc679e05..7632fdf1d0 100644
--- a/crates/ide-diagnostics/src/handlers/missing_match_arms.rs
+++ b/crates/ide-diagnostics/src/handlers/missing_match_arms.rs
@@ -311,6 +311,24 @@ fn main() {
}
#[test]
+ fn mismatched_types_issue_15883() {
+ // Check we don't panic.
+ check_diagnostics_no_bails(
+ r#"
+//- minicore: option
+fn main() {
+ match Some((true, false)) {
+ Some(true) | Some(false) => {}
+ // ^^^^ error: expected (bool, bool), found bool
+ // ^^^^^ error: expected (bool, bool), found bool
+ None => {}
+ }
+}
+ "#,
+ );
+ }
+
+ #[test]
fn mismatched_types_in_or_patterns() {
cov_mark::check_count!(validate_match_bailed_out, 2);
check_diagnostics(