[no description]
bendn 9 days ago
parent 0894c12 · commit bdabed7
-rw-r--r--src/lib.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 28df65e..9de6661 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -18,9 +18,20 @@ pub trait ToK {
type K;
fn to_key(&self) -> Self::K;
}
-impl<T: Clone> ToK for T {
- type K = T;
+macro_rules! primitive {
+ ($($t:ty)+) => { $(
+ impl ToK for $t {
+ type K = Self;
+ fn to_key(&self) -> Self::K {
+ *self
+ }
+ }
+ )+ };
+}
+primitive!(i8 i16 i32 i64 i128 u8 u16 u32 u64 u128);
+impl<T: Clone> ToK for Vec<T> {
+ type K = Self;
fn to_key(&self) -> Self::K {
self.clone()
}