- 
    Bug 
- 
    Resolution: Done
- 
     Not Evaluated Not Evaluated
- 
    Qt Creator 4.10.0-beta1
- 
    None
- 
        
- 
        4abe476a4bf3ce50dd901fac3580f7a9f392d717 (qt-creator/qt-creator/master)
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;