Guest User

Untitled

a guest
Oct 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. use std::borrow::Borrow;
  2.  
  3. struct ObjType;
  4.  
  5. struct Client<'a> {
  6. Obj: &'a mut ObjType,
  7. }
  8.  
  9. struct Sender;
  10.  
  11. trait Handler{}
  12. impl<'a> Handler for Client<'a> {}
  13.  
  14. fn connect_once<U, F, H>(url: U, factory: F) -> Result<(),()>
  15. where
  16. U: Borrow<str>,
  17. F: FnOnce(Sender) -> H,
  18. H: Handler,
  19. {
  20. Ok(())
  21. }
  22.  
  23. fn connect<U, F, H>(url: U, factory: F) -> Result<(),()>
  24. where
  25. U: Borrow<str>,
  26. F: FnMut(Sender) -> H,
  27. H: Handler,
  28. {
  29. Ok(())
  30. }
  31.  
  32. fn main() {
  33. let mut obj = ObjType;
  34. //connect("", |_:Sender| Client{Obj:&mut obj});//cannot infer an appropriate lifetime
  35. connect_once("", |_:Sender| Client{Obj:&mut obj});
  36. }
Add Comment
Please, Sign In to add comment