mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
use recrod terminology for hir::Pat
This commit is contained in:
parent
db69d134fb
commit
48ffbf29b7
3 changed files with 7 additions and 8 deletions
|
@ -472,7 +472,7 @@ pub enum Pat {
|
|||
Missing,
|
||||
Wild,
|
||||
Tuple(Vec<PatId>),
|
||||
Struct {
|
||||
Record {
|
||||
path: Option<Path>,
|
||||
args: Vec<RecordFieldPat>,
|
||||
// FIXME: 'ellipsis' option
|
||||
|
@ -518,7 +518,7 @@ impl Pat {
|
|||
let total_iter = prefix.iter().chain(rest.iter()).chain(suffix.iter());
|
||||
total_iter.copied().for_each(f);
|
||||
}
|
||||
Pat::Struct { args, .. } => {
|
||||
Pat::Record { args, .. } => {
|
||||
args.iter().map(|f| f.pat).for_each(f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,9 +20,8 @@ use crate::{
|
|||
};
|
||||
|
||||
use super::{
|
||||
ArithOp, Array, BinaryOp, BindingAnnotation, Body, BodySourceMap, CmpOp, Expr, ExprId,
|
||||
Literal, LogicOp, MatchArm, Ordering, Pat, PatId, PatPtr, RecordFieldPat, RecordLitField,
|
||||
Statement,
|
||||
ArithOp, Array, BinaryOp, BindingAnnotation, Body, BodySourceMap, CmpOp, Expr, ExprId, Literal,
|
||||
LogicOp, MatchArm, Ordering, Pat, PatId, PatPtr, RecordFieldPat, RecordLitField, Statement,
|
||||
};
|
||||
|
||||
pub(crate) struct ExprCollector<DB> {
|
||||
|
@ -504,7 +503,7 @@ where
|
|||
});
|
||||
fields.extend(iter);
|
||||
|
||||
Pat::Struct { path, args: fields }
|
||||
Pat::Record { path, args: fields }
|
||||
}
|
||||
|
||||
// FIXME: implement
|
||||
|
|
|
@ -749,7 +749,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> {
|
|||
let is_non_ref_pat = match &body[pat] {
|
||||
Pat::Tuple(..)
|
||||
| Pat::TupleStruct { .. }
|
||||
| Pat::Struct { .. }
|
||||
| Pat::Record { .. }
|
||||
| Pat::Range { .. }
|
||||
| Pat::Slice { .. } => true,
|
||||
// FIXME: Path/Lit might actually evaluate to ref, but inference is unimplemented.
|
||||
|
@ -809,7 +809,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> {
|
|||
Pat::TupleStruct { path: ref p, args: ref subpats } => {
|
||||
self.infer_tuple_struct_pat(p.as_ref(), subpats, expected, default_bm)
|
||||
}
|
||||
Pat::Struct { path: ref p, args: ref fields } => {
|
||||
Pat::Record { path: ref p, args: ref fields } => {
|
||||
self.infer_record_pat(p.as_ref(), fields, expected, default_bm, pat)
|
||||
}
|
||||
Pat::Path(path) => {
|
||||
|
|
Loading…
Reference in a new issue