use crate::num::Integer;
#[inline(always)]
#[cfg(feature = "write")]
pub fn copy_to_dst<T: Copy, Bytes: AsRef<[T]>>(dst: &mut [T], src: Bytes) -> usize {
let src = src.as_ref();
dst[..src.len()].copy_from_slice(src);
src.len()
}
#[inline(always)]
#[cfg(feature = "write")]
pub fn rtrim_char_count(slc: &[u8], c: u8) -> usize {
slc.iter().rev().take_while(|&&si| si == c).count()
}
#[inline(always)]
#[cfg(feature = "write")]
pub fn ltrim_char_count(slc: &[u8], c: u8) -> usize {
slc.iter().take_while(|&&si| si == c).count()
}
#[inline(always)]
pub fn cannot_overflow<T: Integer>(length: usize, radix: u32) -> bool {
length <= T::overflow_digits(radix)
}