From 9c13ae4fe74bb0d548f24bea1ec49a3c085f06ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Fri, 10 Dec 2021 16:04:13 +0100 Subject: [PATCH] QMultiHash::emplace: work around MSVC2019 recursion bug It was already worked around in QHash, but QMultiHash got overlooked. Fixes: QTBUG-98943 Change-Id: I115bf2090500257b5141a386818ae1553702a8c8 Reviewed-by: Thiago Macieira --- src/corelib/tools/qhash.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index d9b7df18014..9d6229207d7 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -1754,7 +1754,8 @@ public: template iterator emplace(const Key &key, Args &&... args) { - return emplace(Key(key), std::forward(args)...); + Key copy = key; // Needs to be explicit for MSVC 2019 + return emplace(std::move(copy), std::forward(args)...); } template