Add slice::fill
This commit is contained in:
parent
f6fe99c798
commit
edabceb4a3
@ -23,6 +23,7 @@
|
||||
// * The `raw` and `bytes` submodules.
|
||||
// * Boilerplate trait implementations.
|
||||
|
||||
use crate::borrow::Borrow;
|
||||
use crate::cmp;
|
||||
use crate::cmp::Ordering::{self, Equal, Greater, Less};
|
||||
use crate::fmt;
|
||||
@ -2145,6 +2146,29 @@ pub fn rotate_right(&mut self, k: usize) {
|
||||
}
|
||||
}
|
||||
|
||||
/// Fills `self` with elements by cloning `value`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(slice_fill)]
|
||||
///
|
||||
/// let mut buf = vec![0; 10];
|
||||
/// buf.fill(1);
|
||||
/// assert_eq!(buf, vec![1; 10]);
|
||||
/// ```
|
||||
#[unstable(feature = "slice_fill", issue = "70758")]
|
||||
pub fn fill<V>(&mut self, value: V)
|
||||
where
|
||||
V: Borrow<T>,
|
||||
T: Clone,
|
||||
{
|
||||
let value = value.borrow();
|
||||
for el in self {
|
||||
el.clone_from(value)
|
||||
}
|
||||
}
|
||||
|
||||
/// Copies the elements from `src` into `self`.
|
||||
///
|
||||
/// The length of `src` must be the same as `self`.
|
||||
|
Loading…
Reference in New Issue
Block a user