Files
rustical/crates/xml/derive/src/generic.rs

13 lines
430 B
Rust

pub(crate) fn get_generic_type(ty: &syn::Type) -> Option<&syn::Type> {
if let syn::Type::Path(syn::TypePath { path, .. }) = ty
&& let Some(seg) = path.segments.last()
&& let syn::PathArguments::AngleBracketed(syn::AngleBracketedGenericArguments {
args, ..
}) = &seg.arguments
&& let Some(syn::GenericArgument::Type(t)) = &args.first()
{
return Some(t);
}
None
}