Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-22578

ClangIndexingSettingsManager doesn't compile in MSVC

    XMLWordPrintable

Details

    • Windows
    • 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;
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            bubke Marco Bubke
            dreghor Pavel Baxtin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes