diff options
author | Jake Merdich <jake@merdich.com> | 2022-02-03 11:02:30 -0500 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2022-02-18 19:32:08 +0100 |
commit | b3e6a9882f56b5e9e65bf38c1a2c9ccac2995d37 (patch) | |
tree | 08aef7f31b8590932116e31378f4f15215963819 /src/codegen/helpers.rs | |
parent | 71fe5fdcb657470b7c2e1b841eaea4660d4ccc40 (diff) |
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.
Diffstat (limited to 'src/codegen/helpers.rs')
-rw-r--r-- | src/codegen/helpers.rs | 2 |
1 files changed, 1 insertions, 1 deletions
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 ),* )] } |