diff options
author | Marc Mutz <marc.mutz@qt.io> | 2021-12-07 14:12:45 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2021-12-07 22:53:14 +0100 |
commit | adcc68fd599d976dd79ad034b93e150138039681 (patch) | |
tree | 809d3e9a0bfcd3a4f624495eab4dd66aebe6aefa /src | |
parent | ac4c0e1f0293c6d533c0537b3e0139733e4212eb (diff) |
QVarLengthArray: remove unneeded copy in replace()
QVarLengthArray is neither implicitly shared, nor does it feature a
magic resize() on out-of-bounds.
Therefore, data() doesn't detach(), so 't' remains stable.
The only reason for the copy, then, would be if T wasn't
self-assignment-safe, but we don't support such types.
Remove the copy.
Change-Id: I8dd12e1c9b8131ae17d641354fe362554062b78d
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/tools/qvarlengtharray.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index a6e41168a8..2a86a1dd7f 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -619,8 +619,7 @@ template <class T, qsizetype Prealloc> inline void QVarLengthArray<T, Prealloc>::replace(qsizetype i, const T &t) { verify(i); - const T copy(t); - data()[i] = copy; + data()[i] = t; } template <class T, qsizetype Prealloc> |