The single-argument variant of vector::erase() deletes just one element of the vector, not an entire range. Tests have been fixed to check that the range from start to the current buffer position is dropped correctly.