diff options
Diffstat (limited to 'library/stdarch/crates/stdarch-verify/src/lib.rs')
| -rw-r--r-- | library/stdarch/crates/stdarch-verify/src/lib.rs | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/library/stdarch/crates/stdarch-verify/src/lib.rs b/library/stdarch/crates/stdarch-verify/src/lib.rs index 3a5588bbfe1..1afb556aaba 100644 --- a/library/stdarch/crates/stdarch-verify/src/lib.rs +++ b/library/stdarch/crates/stdarch-verify/src/lib.rs @@ -97,11 +97,11 @@ fn functions(input: TokenStream, dirs: &[&str]) -> TokenStream { arguments.push(to_type(ty)); } for generic in f.sig.generics.params.iter() { - let ty = match *generic { - syn::GenericParam::Const(ref c) => &c.ty, + match *generic { + syn::GenericParam::Const(ref c) => const_arguments.push(to_type(&c.ty)), + syn::GenericParam::Type(ref _t) => (), _ => panic!("invalid generic argument on {name}"), }; - const_arguments.push(to_type(ty)); } let ret = match f.sig.output { syn::ReturnType::Default => quote! { None }, @@ -345,6 +345,10 @@ fn to_type(t: &syn::Type) -> proc_macro2::TokenStream { "v4f32" => quote! { &v4f32 }, "v2f64" => quote! { &v2f64 }, + // Generic types + "T" => quote! { &GENERICT }, + "U" => quote! { &GENERICU }, + s => panic!("unsupported type: \"{s}\""), }, syn::Type::Ptr(syn::TypePtr { | 
