pub const fn fill<T: Copy>(slice: &mut [T], val: T) {
crate::for_range! {i in 0..slice.len() =>
slice[i] = val;
}
}
#[doc = crate::docs::closure_arg_pattern_limitations_docs!()]
#[doc(inline)]
pub use crate::__slice_fill_with as fill_with;
#[doc(hidden)]
#[macro_export]
macro_rules! __slice_fill_with {
($slice:expr, || $v:expr $(,)?) => {
match ($crate::slice::__AssertSliceMut { x: $slice }.x) {
slice => {
$crate::for_range! {i in 0..slice.len()=>
slice[i] = $v;
}
}
}
};
($opt:expr, | $($anything:tt)* ) => {
$crate::__::compile_error!("expected a closure that takes no arguments")
};
($slice:expr, $v:path $(,)?) => {
$crate::__slice_fill_with! {$slice, || $v()}
};
}