parse generics for implement macro

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-07-26 21:31:31 +00:00
parent ca82b59c6f
commit 7a3cc3941e
2 changed files with 29 additions and 15 deletions

View file

@ -1,4 +1,12 @@
use syn::{Expr, Lit, Meta};
use syn::{parse_str, Expr, Generics, Lit, Meta};
use crate::Result;
pub(crate) fn get_named_generics(args: &[Meta], name: &str) -> Result<Generics> {
const DEFAULT: &str = "<>";
parse_str::<Generics>(&get_named_string(args, name).unwrap_or_else(|| DEFAULT.to_owned()))
}
pub(crate) fn get_named_string(args: &[Meta], name: &str) -> Option<String> {
args.iter().find_map(|arg| {