From 8607cfedc49e402d4301ce1f0f4721045f47203e Mon Sep 17 00:00:00 2001 From: A4-Tacks Date: Sat, 4 Oct 2025 19:32:26 +0800 Subject: [PATCH] minor: Fix using `make::ty` for extract_type_alias --- .../ide-assists/src/handlers/extract_type_alias.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/extract_type_alias.rs b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/extract_type_alias.rs index 7f93506685e1..59522458af9e 100644 --- a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/extract_type_alias.rs +++ b/src/tools/rust-analyzer/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