Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. trait GetIterator<'a> {
  2. type Item;
  3. type IntoIter: Iterator<Item=Self::Item>;
  4.  
  5. fn iter(&'a self) -> Self::IntoIter;
  6. }
  7.  
  8. // impl<'a, I: 'a> GetIterator<'a> for I where I: Iterator + Clone {
  9. // type Item = I::Item;
  10. // type IntoIter = I;
  11.  
  12. // fn iter(&'a self) -> Self::IntoIter {
  13. // self.clone()
  14. // }
  15. // }
  16.  
  17. impl<'a, T: 'a> GetIterator<'a> for T where &'a T: IntoIterator {
  18. type Item = <&'a T as IntoIterator>::Item;
  19. type IntoIter = <&'a T as IntoIterator>::IntoIter;
  20.  
  21. fn iter(&'a self) -> Self::IntoIter {
  22. self.into_iter()
  23. }
  24. }
  25.  
  26. fn main() {
  27. // let x: Vec<u32> = Vec::new();
  28. // GetIterator::iter(&x);
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement