Typedef parsing
diff --git a/src/macro_input.rs b/src/macro_input.rs
index 149b6d7..92a8e79 100644
--- a/src/macro_input.rs
+++ b/src/macro_input.rs
@@ -18,9 +18,10 @@
#[cfg(feature = "parsing")]
pub mod parsing {
use super::*;
+ use Generics;
use attr::parsing::outer_attr;
use data::parsing::{visibility, struct_body, enum_body};
- use generics::parsing::generics;
+ use generics::parsing::{generics, where_clause};
use space::whitespace;
use ident::parsing::ident;
@@ -30,12 +31,16 @@
which: alt!(keyword!("struct") | keyword!("enum")) >>
id: ident >>
generics: generics >>
+ where_clause: where_clause >>
item: switch!(value!(which),
"struct" => map!(struct_body, move |body| MacroInput {
ident: id,
vis: vis,
attrs: attrs,
- generics: generics,
+ generics: Generics {
+ where_clause: where_clause,
+ .. generics
+ },
body: Body::Struct(body),
})
|
@@ -43,7 +48,10 @@
ident: id,
vis: vis,
attrs: attrs,
- generics: generics,
+ generics: Generics {
+ where_clause: where_clause,
+ .. generics
+ },
body: Body::Enum(body),
})
) >>