Handle derives on shared enums
diff --git a/syntax/mod.rs b/syntax/mod.rs
index 17b290a..744963b 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -85,6 +85,7 @@
 
 pub struct Enum {
     pub doc: Doc,
+    pub derives: Vec<Derive>,
     pub enum_token: Token![enum],
     pub name: Pair,
     pub brace_token: Brace,
diff --git a/syntax/parse.rs b/syntax/parse.rs
index f1a330c..a009e19 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -126,6 +126,7 @@
     }
 
     let mut doc = Doc::new();
+    let mut derives = Vec::new();
     let mut repr = None;
     let mut namespace = namespace.clone();
     attrs::parse(
@@ -133,6 +134,7 @@
         &item.attrs,
         attrs::Parser {
             doc: Some(&mut doc),
+            derives: Some(&mut derives),
             repr: Some(&mut repr),
             namespace: Some(&mut namespace),
             ..Default::default()
@@ -188,6 +190,7 @@
 
     Ok(Api::Enum(Enum {
         doc,
+        derives,
         enum_token,
         name: Pair::new(namespace, item.ident),
         brace_token,