Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/path_transform.rs')
-rw-r--r--crates/ide-db/src/path_transform.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/crates/ide-db/src/path_transform.rs b/crates/ide-db/src/path_transform.rs
index ab960a1839..407276a2de 100644
--- a/crates/ide-db/src/path_transform.rs
+++ b/crates/ide-db/src/path_transform.rs
@@ -412,19 +412,16 @@ impl Ctx<'_> {
if old.parent().is_some() {
editor.replace(old, subst.clone().syntax());
} else {
- // Some `path_ty` has no parent, especially ones made for default value
- // of type parameters.
- // In this case, `ted` cannot replace `path_ty` with `subst` directly.
- // So, just replace its children as long as the `subst` is the same type.
- let new = subst.clone_subtree().clone_for_update();
- if !matches!(new, ast::Type::PathType(..)) {
- return None;
- }
let start = path_ty.syntax().first_child().map(NodeOrToken::Node)?;
let end = path_ty.syntax().last_child().map(NodeOrToken::Node)?;
editor.replace_all(
start..=end,
- new.syntax().children().map(NodeOrToken::Node).collect::<Vec<_>>(),
+ subst
+ .clone()
+ .syntax()
+ .children()
+ .map(NodeOrToken::Node)
+ .collect::<Vec<_>>(),
);
}
} else {