Skip to content

Commit c12de4a

Browse files
bors[bot]matklad
andauthored
Merge #4298
4298: Simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2 parents 96f5810 + 802617c commit c12de4a

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

crates/ra_assists/src/handlers/unwrap_block.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,38 +24,38 @@ use ra_syntax::{ast, AstNode, TextRange, T};
2424
pub(crate) fn unwrap_block(ctx: AssistCtx) -> Option<Assist> {
2525
let l_curly_token = ctx.find_token_at_offset(T!['{'])?;
2626

27-
let res = if let Some(if_expr) = l_curly_token.ancestors().find_map(IfExpr::cast) {
27+
let (expr, expr_to_unwrap) = if let Some(if_expr) =
28+
l_curly_token.ancestors().find_map(IfExpr::cast)
29+
{
2830
// if expression
2931
let expr_to_unwrap = if_expr.blocks().find_map(|expr| extract_expr(ctx.frange.range, expr));
3032
let expr_to_unwrap = expr_to_unwrap?;
3133
// Find if we are in a else if block
3234
let ancestor = if_expr.syntax().ancestors().skip(1).find_map(ast::IfExpr::cast);
3335

34-
if let Some(ancestor) = ancestor {
35-
Some((ast::Expr::IfExpr(ancestor), expr_to_unwrap))
36-
} else {
37-
Some((ast::Expr::IfExpr(if_expr), expr_to_unwrap))
36+
match ancestor {
37+
None => (ast::Expr::IfExpr(if_expr), expr_to_unwrap),
38+
Some(ancestor) => (ast::Expr::IfExpr(ancestor), expr_to_unwrap),
3839
}
3940
} else if let Some(for_expr) = l_curly_token.ancestors().find_map(ForExpr::cast) {
4041
// for expression
4142
let block_expr = for_expr.loop_body()?;
42-
extract_expr(ctx.frange.range, block_expr)
43-
.map(|expr_to_unwrap| (ast::Expr::ForExpr(for_expr), expr_to_unwrap))
43+
let expr_to_unwrap = extract_expr(ctx.frange.range, block_expr)?;
44+
(ast::Expr::ForExpr(for_expr), expr_to_unwrap)
4445
} else if let Some(while_expr) = l_curly_token.ancestors().find_map(WhileExpr::cast) {
4546
// while expression
4647
let block_expr = while_expr.loop_body()?;
47-
extract_expr(ctx.frange.range, block_expr)
48-
.map(|expr_to_unwrap| (ast::Expr::WhileExpr(while_expr), expr_to_unwrap))
48+
let expr_to_unwrap = extract_expr(ctx.frange.range, block_expr)?;
49+
(ast::Expr::WhileExpr(while_expr), expr_to_unwrap)
4950
} else if let Some(loop_expr) = l_curly_token.ancestors().find_map(LoopExpr::cast) {
5051
// loop expression
5152
let block_expr = loop_expr.loop_body()?;
52-
extract_expr(ctx.frange.range, block_expr)
53-
.map(|expr_to_unwrap| (ast::Expr::LoopExpr(loop_expr), expr_to_unwrap))
53+
let expr_to_unwrap = extract_expr(ctx.frange.range, block_expr)?;
54+
(ast::Expr::LoopExpr(loop_expr), expr_to_unwrap)
5455
} else {
55-
None
56+
return None;
5657
};
5758

58-
let (expr, expr_to_unwrap) = res?;
5959
ctx.add_assist(AssistId("unwrap_block"), "Unwrap block", |edit| {
6060
edit.set_cursor(expr.syntax().text_range().start());
6161
edit.target(expr_to_unwrap.syntax().text_range());

0 commit comments

Comments
 (0)