diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-11-20 18:16:35 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2019-11-20 18:16:35 +0000 |
commit | 5aec3e4a7b21855fb4688e466d4f5bee9feabe2e (patch) | |
tree | 41a304a33955dd12d1f0ec127a80551367c8ffa0 /crates/ra_fmt/src | |
parent | 7a5fd1f3f3c4a8f64407f9bd08a3d5e7f79417e0 (diff) | |
parent | bcb2ea912bf96f38505c67a0b6896c6a5ac278ed (diff) |
Merge #2329
2329: fix 2190; add test for "replace if let with match" r=matklad a=fkohlgrueber
Fixes #2190.
Check that the expression doesn't contain newlines only for "replace if let with match". For "join lines", enclosing blocks for multiline expressions should be removed.
Co-authored-by: Felix Kohlgrüber <[email protected]>
Diffstat (limited to 'crates/ra_fmt/src')
-rw-r--r-- | crates/ra_fmt/src/lib.rs | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/crates/ra_fmt/src/lib.rs b/crates/ra_fmt/src/lib.rs index a30ed4cbb..10f592257 100644 --- a/crates/ra_fmt/src/lib.rs +++ b/crates/ra_fmt/src/lib.rs | |||
@@ -38,9 +38,6 @@ fn prev_tokens(token: SyntaxToken) -> impl Iterator<Item = SyntaxToken> { | |||
38 | pub fn extract_trivial_expression(expr: &ast::BlockExpr) -> Option<ast::Expr> { | 38 | pub fn extract_trivial_expression(expr: &ast::BlockExpr) -> Option<ast::Expr> { |
39 | let block = expr.block()?; | 39 | let block = expr.block()?; |
40 | let expr = block.expr()?; | 40 | let expr = block.expr()?; |
41 | if expr.syntax().text().contains_char('\n') { | ||
42 | return None; | ||
43 | } | ||
44 | let non_trivial_children = block.syntax().children().filter(|it| match it.kind() { | 41 | let non_trivial_children = block.syntax().children().filter(|it| match it.kind() { |
45 | WHITESPACE | T!['{'] | T!['}'] => false, | 42 | WHITESPACE | T!['{'] | T!['}'] => false, |
46 | _ => it != expr.syntax(), | 43 | _ => it != expr.syntax(), |