diff --git a/crates/ide-assists/src/handlers/remove_unused_imports.rs b/crates/ide-assists/src/handlers/remove_unused_imports.rs index 2958acc4783a..f1f816667923 100644 --- a/crates/ide-assists/src/handlers/remove_unused_imports.rs +++ b/crates/ide-assists/src/handlers/remove_unused_imports.rs @@ -693,9 +693,7 @@ mod m { } } -use m:: - x::B -; +use m::x::B; fn main() { B; diff --git a/crates/syntax/src/ast/node_ext.rs b/crates/syntax/src/ast/node_ext.rs index 1eb658f4b8d0..48a567e18676 100644 --- a/crates/syntax/src/ast/node_ext.rs +++ b/crates/syntax/src/ast/node_ext.rs @@ -473,13 +473,19 @@ impl ast::UseTreeList { false } }; + let remove_whitespace = |element: Option| match element { + Some(element) if element.kind() == SyntaxKind::WHITESPACE => editor.delete(element), + _ => (), + }; let remove_brace_in_use_tree_list = |u: &ast::UseTreeList| { if has_single_subtree_that_is_not_self(u) { if let Some(a) = u.l_curly_token() { + remove_whitespace(a.next_sibling_or_token()); editor.delete(a) } if let Some(a) = u.r_curly_token() { + remove_whitespace(a.prev_sibling_or_token()); editor.delete(a) } u.comma().for_each(|u| editor.delete(u));