Unnamed repository; edit this file 'description' to name the repository.
fix: handle with type bounds in existing_params
roife 2024-01-02
parent 186553d · commit bc1a577
-rw-r--r--crates/ide-assists/src/utils/suggest_name.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/ide-assists/src/utils/suggest_name.rs b/crates/ide-assists/src/utils/suggest_name.rs
index 8a698e4068..455bbc0b68 100644
--- a/crates/ide-assists/src/utils/suggest_name.rs
+++ b/crates/ide-assists/src/utils/suggest_name.rs
@@ -70,8 +70,13 @@ pub(crate) fn for_unique_generic_name(
name: &str,
existing_params: &ast::GenericParamList,
) -> SmolStr {
- let param_names = existing_params.generic_params().map(|param| param.to_string()).collect_vec();
-
+ let param_names = existing_params
+ .generic_params()
+ .map(|param| match param {
+ ast::GenericParam::TypeParam(t) => t.name().unwrap().to_string(),
+ p => p.to_string(),
+ })
+ .collect_vec();
let mut name = name.to_string();
let base_len = name.len();
// 4*len bytes for base, and 2 bytes for 2 digits