add blake3 hashing

This commit is contained in:
Aleksandr 2025-06-28 14:25:19 +03:00
parent 75a589f235
commit 0ceb55546b
7 changed files with 266 additions and 6 deletions

View file

@ -52,13 +52,22 @@ pub fn transform(args: TokenStream, body: TokenStream) -> TokenStream {
bounds: syn::parse_quote!(#eva::str::FixedUtf8),
};
let predicate = syn::WherePredicate::Type(predicate);
if let Some(ref mut clause) = generics.where_clause {
let clause = if let Some(ref mut clause) = generics.where_clause {
clause.predicates.push(predicate);
clause
} else {
generics.where_clause = Some(syn::parse_quote! {
where #predicate
});
}
generics.where_clause.as_mut().unwrap()
};
clause.predicates.push(syn::WherePredicate::Type(syn::PredicateType {
lifetimes: None,
bounded_ty: error_ty.clone(),
colon_token: Token![:](proc_macro2::Span::mixed_site()),
bounds: syn::parse_quote!(::std::convert::From<<#ty as ::std::str::FromStr>::Err>),
}));
}
let (ig, tyg, where_clause) = generics.split_for_impl();