Simplify reparse step in parsing AstEnumOfStructs
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index 2536540..4a7ec38 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -319,8 +319,6 @@
variants: braces!(many0!(eos_variant)) >>
option!(syn!(Ident)) >> // do_not_generate_to_tokens
({
- // XXX: This is really gross - we shouldn't have to convert the
- // tokens to strings to re-parse them.
let enum_item = {
let variants = variants.1.iter().map(|v| {
let name = v.name.clone();
@@ -329,9 +327,11 @@
None => quote!(#name),
}
});
- syn::parse_str("e! {
- pub enum #id { #(#variants),* }
- }.to_string())?
+ parse_quote! {
+ pub enum #id {
+ #(#variants),*
+ }
+ }
};
let mut items = vec![AstItem {
ast: enum_item,