diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index fd8b53b398..a35d6cce40 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -781,10 +781,8 @@ Q_OUTOFLINE_TEMPLATE void QVLABase::assign_impl(qsizetype prealloc, void *arr // This function only provides the basic exception guarantee. if constexpr (std::is_convertible_v::iterator_category, std::forward_iterator_tag>) { const qsizetype n = std::distance(first, last); - if (n > capacity()) { - reallocate_impl(prealloc, array, 0, capacity()); // clear - reallocate_impl(prealloc, array, 0, n); // reserve n - } + if (n > capacity()) + reallocate_impl(prealloc, array, 0, n); // clear & reserve n } auto dst = begin();