fix: handle with type bounds in existing_params

This commit is contained in:
roife 2023-12-11 00:53:44 +08:00
parent 186553dab8
commit bc1a5774fd

View file

@ -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