Closed
Description
It looks like HashMap::capacity() returns a too small value. It does not always report a capacity greater or equal to current length!
Output:
len=116, cap=116
len=117, cap=116
len=118, cap=232
Testcase (playpen)
use std::collections::HashMap;
fn main() {
let mut x = HashMap::new();
for i in 0..116 {
x.insert(i, 0);
}
println!("len={}, cap={}", x.len(), x.capacity());
x.insert(1729, 0);
println!("len={}, cap={}", x.len(), x.capacity());
x.insert(1730, 0);
println!("len={}, cap={}", x.len(), x.capacity());
}