mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Fix empty SpaceBefore instance
This commit is contained in:
parent
f1d9667ea0
commit
d3426ebce1
7 changed files with 92 additions and 93 deletions
|
@ -2125,6 +2125,7 @@ fn expr_to_pattern_help<'a>(arena: &'a Bump, expr: &Expr<'a>) -> Result<Pattern<
|
|||
let mut expr = expr.extract_spaces();
|
||||
|
||||
while let Expr::ParensAround(loc_expr) = &expr.item {
|
||||
dbg!(&loc_expr);
|
||||
let expr_inner = loc_expr.extract_spaces();
|
||||
|
||||
expr.before = merge_spaces(arena, expr.before, expr_inner.before);
|
||||
|
@ -3108,22 +3109,24 @@ fn stmts_to_defs<'a>(
|
|||
Stmt::Expr(Expr::Return(return_value, _after_return)) => {
|
||||
if i == stmts.len() - 1 {
|
||||
let region = sp_stmt.item.region;
|
||||
last_expr = Some(
|
||||
last_expr = Some(Loc::at(
|
||||
region,
|
||||
arena
|
||||
.alloc(Expr::Return(return_value, None))
|
||||
.with_spaces_before(sp_stmt.before, region),
|
||||
);
|
||||
.maybe_before(arena, sp_stmt.before),
|
||||
));
|
||||
} else {
|
||||
let region = Region::span_across(
|
||||
&sp_stmt.item.region,
|
||||
&stmts[stmts.len() - 1].item.region,
|
||||
);
|
||||
let rest = stmts_to_expr(&stmts[i + 1..], arena)?;
|
||||
last_expr = Some(
|
||||
last_expr = Some(Loc::at(
|
||||
region,
|
||||
arena
|
||||
.alloc(Expr::Return(return_value, Some(arena.alloc(rest))))
|
||||
.with_spaces_before(sp_stmt.before, region),
|
||||
);
|
||||
.maybe_before(arena, sp_stmt.before),
|
||||
));
|
||||
}
|
||||
|
||||
// don't re-process the rest of the statements, they got consumed by the early return
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue