Skip to content

Commit

Permalink
Rollup merge of rust-lang#40325 - eddyb:pr38143, r=alexcrichton
Browse files Browse the repository at this point in the history
Added remove_from to vec.rs (rust-lang#38143)

Turns out that if you push to someone's PR branch and cause the PR to close, you lose delegation 😞.

@madseagames I'm really sorry about that 😭
  • Loading branch information
frewsxcv authored Mar 8, 2017
2 parents 1278188 + df61719 commit b1907e3
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/libcollections/vec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1335,6 +1335,27 @@ impl<T: PartialEq> Vec<T> {
pub fn dedup(&mut self) {
self.dedup_by(|a, b| a == b)
}

/// Removes the first instance of `item` from the vector if the item exists.
///
/// # Examples
///
/// ```
///# #![feature(vec_remove_item)]
/// let mut vec = vec![1, 2, 3, 1];
///
/// vec.remove_item(&1);
///
/// assert_eq!(vec, vec![2, 3, 1]);
/// ```
#[unstable(feature = "vec_remove_item", reason = "recently added", issue = "40062")]
pub fn remove_item(&mut self, item: &T) -> Option<T> {
let pos = match self.iter().position(|x| *x == *item) {
Some(x) => x,
None => return None,
};
Some(self.remove(pos))
}
}

////////////////////////////////////////////////////////////////////////////////
Expand Down

0 comments on commit b1907e3

Please sign in to comment.