Don't print qualified self in node type names

This commit is contained in:
Shadowfacts 2025-01-01 17:04:42 -05:00
parent 2c1b9c620e
commit f467025569

View File

@ -726,33 +726,29 @@ fn pretty_type_name_type(ty: syn::Type) -> String {
}
fn pretty_type_name_path(path: syn::TypePath) -> String {
if path.qself.is_some() {
format!("{}", path.into_token_stream())
} else {
let last_segment = path.path.segments.last().unwrap();
match &last_segment.arguments {
syn::PathArguments::None => {
format!("{}", last_segment.ident.to_token_stream())
}
syn::PathArguments::AngleBracketed(args) => {
let mut str = format!("{}", last_segment.ident.to_token_stream());
str.push('<');
for arg in &args.args {
match arg {
syn::GenericArgument::Type(ty) => {
str.push_str(&pretty_type_name_type(ty.clone()))
}
_ => str.push_str(&format!("{}", arg.into_token_stream())),
let last_segment = path.path.segments.last().unwrap();
match &last_segment.arguments {
syn::PathArguments::None => {
format!("{}", last_segment.ident.to_token_stream())
}
syn::PathArguments::AngleBracketed(args) => {
let mut str = format!("{}", last_segment.ident.to_token_stream());
str.push('<');
for arg in &args.args {
match arg {
syn::GenericArgument::Type(ty) => {
str.push_str(&pretty_type_name_type(ty.clone()))
}
str.push_str(", ")
_ => str.push_str(&format!("{}", arg.into_token_stream())),
}
str.remove(str.len() - 1);
str.replace_range((str.len() - 1).., ">");
str
}
syn::PathArguments::Parenthesized(_) => {
format!("{}", last_segment.into_token_stream())
str.push_str(", ")
}
str.remove(str.len() - 1);
str.replace_range((str.len() - 1).., ">");
str
}
syn::PathArguments::Parenthesized(_) => {
format!("{}", last_segment.into_token_stream())
}
}
}