Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
Qt Creator 4.10.0-beta1
-
None
-
-
4abe476a4bf3ce50dd901fac3580f7a9f392d717 (qt-creator/qt-creator/master)
Description
ClangIndexingSettingsManager class uses an std::map with std::unique_ptr. MSVC tries to generate a default copy constructor and a default operator=. It fails, because std::unique_ptr cannot be explicitly copied. The compiler issues error C2280 "attempting to reference a deleted function".
To make MSVC cool, one can explicitly delete copy constructor and operator = from ClangIndexingSettingsManager. Suggested fix is to add these two lines to ClangIndexingSettingsManager class:
ClangIndexingSettingsManager(const ClangIndexingSettingsManager &) = delete; ClangIndexingSettingsManager &operator=(const ClangIndexingSettingsManager &) = delete;