Skip to content

Commit d794865

Browse files
committed
remove as _ on auto importing on trait that is aliased with _
1 parent cc6c820 commit d794865

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

crates/ide-db/src/imports/merge_imports.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ fn try_merge_trees_mut(lhs: &ast::UseTree, rhs: &ast::UseTree, merge: MergeBehav
7878
{
7979
lhs.split_prefix(&lhs_prefix);
8080
rhs.split_prefix(&rhs_prefix);
81+
} else {
82+
ted::replace(lhs.syntax(), rhs.syntax());
83+
// we can safely return here, in this case `recursive_merge` doesn't do anything
84+
return Some(());
8185
}
8286
recursive_merge(lhs, rhs, merge)
8387
}
@@ -123,6 +127,13 @@ fn recursive_merge(lhs: &ast::UseTree, rhs: &ast::UseTree, merge: MergeBehavior)
123127
// so they need to be handled explicitly
124128
.or_else(|| tree.star_token().map(|_| false))
125129
};
130+
131+
if lhs_t.rename().and_then(|x| x.underscore_token()).is_some() {
132+
ted::replace(lhs_t.syntax(), rhs_t.syntax());
133+
*lhs_t = rhs_t;
134+
continue;
135+
}
136+
126137
match (tree_contains_self(lhs_t), tree_contains_self(&rhs_t)) {
127138
(Some(true), None) => continue,
128139
(None, Some(true)) => {

0 commit comments

Comments
 (0)