Add span-preserving ToTokens for Derive
diff --git a/syntax/derive.rs b/syntax/derive.rs
index 1099967..813cf26 100644
--- a/syntax/derive.rs
+++ b/syntax/derive.rs
@@ -40,6 +40,20 @@
     }
 }
 
+impl AsRef<str> for Trait {
+    fn as_ref(&self) -> &str {
+        match self {
+            Trait::Clone => "Clone",
+            Trait::Copy => "Copy",
+            Trait::Debug => "Debug",
+            Trait::Eq => "Eq",
+            Trait::Ord => "Ord",
+            Trait::PartialEq => "PartialEq",
+            Trait::PartialOrd => "PartialOrd",
+        }
+    }
+}
+
 pub fn contains(derives: &[Derive], query: Trait) -> bool {
     derives.iter().any(|derive| derive.what == query)
 }