extern crate futures; use futures::future::*; #[test] fn ignore_err() { let v = vec![ err(1), err(2), ok(3), ok(4), ]; let (i, v) = select_ok(v).wait().ok().unwrap(); assert_eq!(i, 3); assert_eq!(v.len(), 1); let (i, v) = select_ok(v).wait().ok().unwrap(); assert_eq!(i, 4); assert!(v.is_empty()); } #[test] fn last_err() { let v = vec![ ok(1), err(2), err(3), ]; let (i, v) = select_ok(v).wait().ok().unwrap(); assert_eq!(i, 1); assert_eq!(v.len(), 2); let i = select_ok(v).wait().err().unwrap(); assert_eq!(i, 3); }