Derive hash for AST types
diff --git a/src/lit.rs b/src/lit.rs
index 5b94ceb..6617410 100644
--- a/src/lit.rs
+++ b/src/lit.rs
@@ -1,7 +1,7 @@
 /// Literal kind.
 ///
 /// E.g. `"foo"`, `42`, `12.34` or `bool`
-#[derive(Debug, Clone, Eq, PartialEq)]
+#[derive(Debug, Clone, Eq, PartialEq, Hash)]
 pub enum Lit {
     /// A string literal (`"foo"`)
     Str(String, StrStyle),
@@ -19,7 +19,7 @@
     Bool(bool),
 }
 
-#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
 pub enum StrStyle {
     /// A regular string, like `"foo"`
     Cooked,
@@ -65,7 +65,7 @@
     }
 }
 
-#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
 pub enum IntTy {
     Isize,
     I8,
@@ -80,7 +80,7 @@
     Unsuffixed,
 }
 
-#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
 pub enum FloatTy {
     F32,
     F64,