From b3e6a9882f56b5e9e65bf38c1a2c9ccac2995d37 Mon Sep 17 00:00:00 2001 From: Jake Merdich Date: Thu, 3 Feb 2022 11:02:30 -0500 Subject: Allow fully-qualified derives Adding a custom derive like "serde::Deserialize" results in a panic complaining that it is not a valid Ident. Derive params are not identifiers, so treat it as a token stream instead. --- src/codegen/helpers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/codegen/helpers.rs') diff --git a/src/codegen/helpers.rs b/src/codegen/helpers.rs index 2ce6894f..75c169c6 100644 --- a/src/codegen/helpers.rs +++ b/src/codegen/helpers.rs @@ -30,7 +30,7 @@ pub mod attributes { let which_ones = which_ones .iter() .cloned() - .map(|one| Ident::new(one, Span::call_site())); + .map(|one| TokenStream::from_str(one).expect("derive to be valid")); quote! { #[derive( #( #which_ones ),* )] } -- cgit v1.2.3