diff options
| author | dheaton-arm <Damian.Heaton@arm.com> | 2024-08-14 12:50:23 +0100 |
|---|---|---|
| committer | Amanieu d'Antras <amanieu@gmail.com> | 2024-08-27 15:14:28 +0100 |
| commit | 03f144596f25f166012fb92b1520d0af5ece7fbd (patch) | |
| tree | e4497e24fc1c6687f504dc2b13f043adcc96a317 /library/stdarch/crates/stdarch-verify/src/lib.rs | |
| parent | 92b6a3abaedf20e9fd1a8ebd89e506947d4b1840 (diff) | |
| download | rust-03f144596f25f166012fb92b1520d0af5ece7fbd.tar.gz rust-03f144596f25f166012fb92b1520d0af5ece7fbd.zip | |
Fix test verification and allow for generic types in intrinsics
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 { |
