Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/expr_store/lower.rs')
-rw-r--r--crates/hir-def/src/expr_store/lower.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/hir-def/src/expr_store/lower.rs b/crates/hir-def/src/expr_store/lower.rs
index 811fecf91f..2cabd0f979 100644
--- a/crates/hir-def/src/expr_store/lower.rs
+++ b/crates/hir-def/src/expr_store/lower.rs
@@ -45,7 +45,7 @@ use crate::{
},
Array, Binding, BindingAnnotation, BindingId, BindingProblems, CaptureBy, ClosureKind,
Expr, ExprId, Item, Label, LabelId, Literal, LiteralOrConst, MatchArm, Movability,
- OffsetOf, Pat, PatId, RecordFieldPat, RecordLitField, Spread, Statement,
+ OffsetOf, Pat, PatId, RecordFieldPat, RecordLitField, Statement,
},
item_scope::BuiltinShadowMode,
lang_item::LangItem,
@@ -602,13 +602,11 @@ impl ExprCollector<'_> {
Some(RecordLitField { name, expr })
})
.collect();
- let spread = nfl.spread().map(|s| self.collect_expr(s)).map_or_else(
- || if nfl.dotdot_token().is_some() { Spread::Yes } else { Spread::No },
- Spread::Base,
- );
- Expr::RecordLit { path, fields, spread }
+ let spread = nfl.spread().map(|s| self.collect_expr(s));
+ let ellipsis = nfl.dotdot_token().is_some();
+ Expr::RecordLit { path, fields, spread, ellipsis }
} else {
- Expr::RecordLit { path, fields: Box::default(), spread: Spread::No }
+ Expr::RecordLit { path, fields: Box::default(), spread: None, ellipsis: false }
};
self.alloc_expr(record_lit, syntax_ptr)