support TuplePat

This commit is contained in:
Jeroen Vannevel 2022-01-14 00:35:21 +00:00
parent a347cb5f86
commit c955ea11b4
No known key found for this signature in database
GPG Key ID: 78EF5F52F38C49BD

View File

@ -131,6 +131,11 @@ fn get_arm_types(context: &AssistContext, arm: &MatchArm) -> HashMap<String, Opt
recurse(&Some(field), map, ctx);
}
}
Some(ast::Pat::TuplePat(tuple)) => {
for field in tuple.fields() {
recurse(&Some(field), map, ctx);
}
}
Some(ast::Pat::RecordPat(record)) => {
if let Some(field_list) = record.record_pat_field_list() {
for field in field_list.fields() {
@ -707,6 +712,21 @@ fn main(msg: Message) {
Message::ChangeColor(y, Color::Hsv(x, b, c)) => "",
_ => "other"
};
}
"#,
)
}
#[test]
fn merge_match_arms_tuple() {
check_assist_not_applicable(
merge_match_arms,
r#"
fn func() {
match (0, "boo") {
(x, y) => $0"",
(y, x) => "",
};
}
"#,
)