Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. use std::vec::Vec;
  2.  
  3. fn main() {
  4.  
  5. let collection_base = vec![(0, Err("oh no"))];
  6. let (good, bad) : (Vec<(usize, Result<&str, &str>)>, Vec<(usize, Result<&str, &str>)>) =
  7. collection_base
  8. .iter()
  9. .partition(|t| Result::is_ok(&t.1));
  10.  
  11. let good_unwrap: Vec<&str> = good
  12. .into_iter()
  13. .map(|t| Result::unwrap(t.1))
  14. .collect();
  15.  
  16. let bad_unwrap : Vec<String> = bad
  17. .into_iter()
  18. .map(|t| {
  19. format!(
  20. "Error #{}. Details: '{:#?}'",
  21. t.0,
  22. Result::unwrap_err(t.1)
  23. )
  24. })
  25. .collect();
  26.  
  27. println!("Content of good_unwrap: {:#?}", good_unwrap);
  28. println!("Content of bad_unwrap: {:#?}", bad_unwrap);
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement