Derive hash for AST types
diff --git a/src/macro_input.rs b/src/macro_input.rs
index 3abdc3d..de99f27 100644
--- a/src/macro_input.rs
+++ b/src/macro_input.rs
@@ -1,6 +1,6 @@
 use super::*;
 
-#[derive(Debug, Clone, Eq, PartialEq)]
+#[derive(Debug, Clone, Eq, PartialEq, Hash)]
 pub struct MacroInput {
     pub ident: Ident,
     pub vis: Visibility,
@@ -9,7 +9,7 @@
     pub body: Body,
 }
 
-#[derive(Debug, Clone, Eq, PartialEq)]
+#[derive(Debug, Clone, Eq, PartialEq, Hash)]
 pub enum Body {
     Enum(Vec<Variant>),
     Struct(VariantData),