From 78578751d337faa5d20bfb4a2bd1cf2fd23ad9e5 Mon Sep 17 00:00:00 2001 From: A4-Tacks Date: Sat, 4 Jul 2026 18:53:41 +0800 Subject: [PATCH] minor: remove whitespaces in remove use-tree braces Example --- ```rust struct X; struct Y; mod z { $0use super::{ X, Y, };$0 fn w() { let x = X; } } ``` **Before this PR** ```rust struct X; struct Y; mod z { use super:: X ; fn w() { let x = X; } } ``` **After this PR** ```rust struct X; struct Y; mod z { use super::X; fn w() { let x = X(); } } ``` --- crates/ide-assists/src/handlers/remove_unused_imports.rs | 4 +--- crates/syntax/src/ast/node_ext.rs | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) 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));