Skip to content

Commit af41489

Browse files
committed
Fix incorrect missing field diagnostic with box patterns
1 parent 20a911f commit af41489

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

crates/syntax/src/ast/node_ext.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -381,11 +381,20 @@ impl ast::RecordPatField {
381381
if let Some(name_ref) = self.name_ref() {
382382
return Some(NameOrNameRef::NameRef(name_ref));
383383
}
384-
if let Some(ast::Pat::IdentPat(pat)) = self.pat() {
385-
let name = pat.name()?;
386-
return Some(NameOrNameRef::Name(name));
384+
match self.pat() {
385+
Some(ast::Pat::IdentPat(pat)) => {
386+
let name = pat.name()?;
387+
Some(NameOrNameRef::Name(name))
388+
}
389+
Some(ast::Pat::BoxPat(pat)) => match pat.pat() {
390+
Some(ast::Pat::IdentPat(pat)) => {
391+
let name = pat.name()?;
392+
Some(NameOrNameRef::Name(name))
393+
}
394+
_ => None,
395+
},
396+
_ => None,
387397
}
388-
None
389398
}
390399
}
391400

0 commit comments

Comments
 (0)