Unnamed repository; edit this file 'description' to name the repository.
minor: Fix using `make::ty` for extract_type_alias
A4-Tacks 7 months ago
parent a56e577 · commit 9fd6d5f
-rw-r--r--crates/ide-assists/src/handlers/extract_type_alias.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/crates/ide-assists/src/handlers/extract_type_alias.rs b/crates/ide-assists/src/handlers/extract_type_alias.rs
index 7f93506685..59522458af 100644
--- a/crates/ide-assists/src/handlers/extract_type_alias.rs
+++ b/crates/ide-assists/src/handlers/extract_type_alias.rs
@@ -61,11 +61,13 @@ pub(crate) fn extract_type_alias(acc: &mut Assists, ctx: &AssistContext<'_>) ->
generics.map(|it| make::generic_param_list(it.into_iter().cloned()));
// Replace original type with the alias
- let ty_args = generic_params
- .as_ref()
- .map_or(String::new(), |it| it.to_generic_args().to_string());
- // FIXME: replace with a `ast::make` constructor
- let new_ty = make::ty(&format!("Type{ty_args}")).clone_for_update();
+ let ty_args = generic_params.as_ref().map(|it| it.to_generic_args().generic_args());
+ let new_ty = if let Some(ty_args) = ty_args {
+ make::generic_ty_path_segment(make::name_ref("Type"), ty_args)
+ } else {
+ make::path_segment(make::name_ref("Type"))
+ }
+ .clone_for_update();
edit.replace(ty.syntax(), new_ty.syntax());
// Insert new alias