Parse delimiter before contents
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index a4f70d3..606e113 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -256,7 +256,7 @@
call!(ast_struct_inner) => { |x: AstItem| (Path::from(x.ast.ident), Some(x)) }
|
syn!(Path) => { |x| (x, None) }
- )), |x| x.0)) >>
+ )), |x| x.1)) >>
punct!(,) >>
(EosVariant {
name: variant,
@@ -279,7 +279,7 @@
// XXX: This is really gross - we shouldn't have to convert the
// tokens to strings to re-parse them.
let enum_item = {
- let variants = body.0.iter().map(|v| {
+ let variants = body.1.iter().map(|v| {
let name = v.name;
match v.member {
Some(ref member) => quote!(#name(#member)),
@@ -295,7 +295,7 @@
features: quote!(),
eos_full: false,
}];
- items.extend(body.0.into_iter().filter_map(|v| v.inner));
+ items.extend(body.1.into_iter().filter_map(|v| v.inner));
AstEnumOfStructs(items)
})
));
@@ -733,7 +733,7 @@
for variant in &e.variants {
let fields: Vec<(&Field, Tokens)> = match variant.item().data {
VariantData::Struct(..) => panic!("Doesn't support enum struct variants"),
- VariantData::Tuple(ref fields, ..) => {
+ VariantData::Tuple(_, ref fields) => {
let binding = format!(" {}::{}(", s.ast.ident, variant.item().ident);
state.visit_impl.push_str(&binding);
state.visit_mut_impl.push_str(&binding);
@@ -838,7 +838,7 @@
}
Body::Struct(ref v) => {
let fields: Vec<(&Field, Tokens)> = match v.data {
- VariantData::Struct(ref fields, ..) => {
+ VariantData::Struct(_, ref fields) => {
state
.fold_impl
.push_str(&format!(" {} {{\n", s.ast.ident));
@@ -850,7 +850,7 @@
})
.collect()
}
- VariantData::Tuple(ref fields, ..) => {
+ VariantData::Tuple(_, ref fields) => {
state
.fold_impl
.push_str(&format!(" {} (\n", s.ast.ident));