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