Судя по коду да, но меня смущает пример в доке:
/// let mut vec = Vec::with_capacity_in(10, System);
///
/// // The vector contains no items, even though it has capacity for more
/// assert_eq!(vec.len(), 0);
/// assert_eq!(vec.capacity(), 10);
может, если не ошибаюсь, там было выделение по степени двойки
только перевыделение
Судя по cap: capacity_from_bytes(...) как раз-таки да
fn capacity_from_bytes(excess: usize) -> usize { debug_assert_ne!(mem::size_of::<T>(), 0); excess / mem::size_of::<T>() }
Обсуждают сегодня