diff options
| author | Ali Bektas <bektasali@protonmail.com> | 2023-08-09 17:17:43 +0200 |
|---|---|---|
| committer | Ali Bektas <bektasali@protonmail.com> | 2023-08-09 17:17:43 +0200 |
| commit | ebf27058cd84c116bf6dc6c8b06d589e97eda165 (patch) | |
| tree | f84212173a40eb2ea8d845d0b22bd964f15d094b | |
| parent | b64e5b3919b24bc784f36248e6e1f921ee7bb71b (diff) | |
| download | rust-ebf27058cd84c116bf6dc6c8b06d589e97eda165.tar.gz rust-ebf27058cd84c116bf6dc6c8b06d589e97eda165.zip | |
minor : Deunwrap convert_to_guarded_return
| -rw-r--r-- | crates/ide-assists/src/handlers/convert_to_guarded_return.rs | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/crates/ide-assists/src/handlers/convert_to_guarded_return.rs b/crates/ide-assists/src/handlers/convert_to_guarded_return.rs index dcb96ab8af4..7d0e424769e 100644 --- a/crates/ide-assists/src/handlers/convert_to_guarded_return.rs +++ b/crates/ide-assists/src/handlers/convert_to_guarded_return.rs @@ -58,7 +58,7 @@ pub(crate) fn convert_to_guarded_return(acc: &mut Assists, ctx: &AssistContext<' return None; } - let bound_ident = pat.fields().next().unwrap(); + let bound_ident = pat.fields().next()?; if !ast::IdentPat::can_cast(bound_ident.syntax().kind()) { return None; } @@ -108,6 +108,15 @@ pub(crate) fn convert_to_guarded_return(acc: &mut Assists, ctx: &AssistContext<' then_block.syntax().last_child_or_token().filter(|t| t.kind() == T!['}'])?; + let then_block_items = then_block.dedent(IndentLevel(1)).clone_for_update(); + + let end_of_then = then_block_items.syntax().last_child_or_token()?; + let end_of_then = if end_of_then.prev_sibling_or_token().map(|n| n.kind()) == Some(WHITESPACE) { + end_of_then.prev_sibling_or_token()? + } else { + end_of_then + }; + let target = if_expr.syntax().text_range(); acc.add( AssistId("convert_to_guarded_return", AssistKind::RefactorRewrite), @@ -141,16 +150,6 @@ pub(crate) fn convert_to_guarded_return(acc: &mut Assists, ctx: &AssistContext<' } }; - let then_block_items = then_block.dedent(IndentLevel(1)).clone_for_update(); - - let end_of_then = then_block_items.syntax().last_child_or_token().unwrap(); - let end_of_then = - if end_of_then.prev_sibling_or_token().map(|n| n.kind()) == Some(WHITESPACE) { - end_of_then.prev_sibling_or_token().unwrap() - } else { - end_of_then - }; - let then_statements = replacement .children_with_tokens() .chain( |
