Guest User

Untitled

a guest
Jan 16th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. pub struct Log {
  2. data: Vec<u8>,
  3. }
  4.  
  5. pub struct Event {
  6. whatever: u8,
  7. }
  8.  
  9. pub fn test<F, T>(v: Vec<Log>, func: F) -> Vec<T>
  10. where
  11. F: Fn(Vec<u8>) -> T,
  12. {
  13. v.into_iter()
  14. .map(|l| {
  15. let data = l.data;
  16. func(data)
  17. })
  18. .collect()
  19. }
  20.  
  21. fn to_string(data: Vec<u8>) -> Event {
  22. Event { whatever: data[0] }
  23. }
  24.  
  25. fn main() {
  26. let l1 = Log {
  27. data: vec![1, 2, 3, 4, 5],
  28. };
  29. let l2 = Log {
  30. data: vec![1, 2, 3, 4, 5],
  31. };
  32. test(vec![l1, l2], to_string);
  33. }
Add Comment
Please, Sign In to add comment