Add place for struct and enum lifetime parameters
diff --git a/syntax/mod.rs b/syntax/mod.rs
index 57ed4fc..73952e1 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -95,6 +95,7 @@
     pub visibility: Token![pub],
     pub struct_token: Token![struct],
     pub name: Pair,
+    pub generics: Lifetimes,
     pub brace_token: Brace,
     pub fields: Vec<Var>,
 }
@@ -106,6 +107,7 @@
     pub visibility: Token![pub],
     pub enum_token: Token![enum],
     pub name: Pair,
+    pub generics: Lifetimes,
     pub brace_token: Brace,
     pub variants: Vec<Variant>,
     pub repr: Atom,
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 795a518..db46dc4 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -133,6 +133,11 @@
     let visibility = visibility_pub(&item.vis, &item.ident);
     let struct_token = item.struct_token;
     let name = pair(namespace, &item.ident, cxx_name, rust_name);
+    let generics = Lifetimes {
+        lt_token: None,
+        lifetimes: Punctuated::new(),
+        gt_token: None,
+    };
     let brace_token = named_fields.brace_token;
 
     Ok(Api::Struct(Struct {
@@ -142,6 +147,7 @@
         visibility,
         struct_token,
         name,
+        generics,
         brace_token,
         fields,
     }))
@@ -207,6 +213,11 @@
     let name = pair(namespace, &item.ident, cxx_name, rust_name);
     let repr_ident = Ident::new(repr.as_ref(), Span::call_site());
     let repr_type = Type::Ident(NamedType::new(repr_ident));
+    let generics = Lifetimes {
+        lt_token: None,
+        lifetimes: Punctuated::new(),
+        gt_token: None,
+    };
 
     Ok(Api::Enum(Enum {
         doc,
@@ -215,6 +226,7 @@
         visibility,
         enum_token,
         name,
+        generics,
         brace_token,
         variants,
         repr,