1 extern crate "db-key" as key;
2 
3 use key::Key;
4 use key::from_u8;
5 
6 enum MyValues {
7   One
8 }
9 
10 struct MyKey {
11   #[allow(dead_code)]
12   val: MyValues
13 }
14 
15 impl Key for MyKey {
from_u8(_key: &[u8]) -> MyKey16   fn from_u8(_key: &[u8]) -> MyKey {
17     MyKey { val: MyValues::One }
18   }
19 
as_slice<T, F:Fn(&[u8]) -> T>(&self, f: F) -> T20   fn as_slice<T, F:Fn(&[u8]) -> T>(&self, f: F) -> T {
21     f("test".as_bytes())
22   }
23 }
24 
25 #[test]
test()26 fn test() {
27   from_u8::<MyKey>("test".as_bytes());
28 }
29 
30 #[test]
test2()31 fn test2() {
32   let key = MyKey { val: MyValues::One };
33   key.as_slice(|k| {
34     assert_eq!(k, "test".as_bytes())
35   })
36 }
37