MakeProject: generate operator=#8995
Conversation
This fixes root-project#8987 (case where the base class deletes operator=). In case where the class generated by MakeProject derived from a class that deletes the operator= then in some compiler we get the error below (which is expected since the class generated by MakeProject has a copy constructor which is needed by stl collection). ``` SRChh_ROOT6_mcgenProjectSource.cxx: In copy constructor ‘KKceex::KKceex(const KKceex&)’: SRChh_ROOT6_mcgenProjectSource.cxx:922:54: error: use of deleted function ‘KKpart& KKpart::operator=(const KKpart&)’ 922 | for (Int_t i=0;i<101;i++) m_Phot[i] = rhs.m_Phot[i]; | ^ In file included from KKceex.h:21, from KKhh2f.h:22, from SRChh_ROOT6_mcgenProjectHeaders.h:1, from SRChh_ROOT6_mcgenProjectSource.cxx:3: KKpart.h:15:7: note: ‘KKpart& KKpart::operator=(const KKpart&)’ is implicitly declared as deleted because ‘KKpart’ declares a move constructor or move assignment operator 15 | class KKpart : public TObject { | ^~~~~~ c++: error: SRChh_ROOT6_mcgenProjectSource.o: No such file or directory ```
|
Starting build on |
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
|
Build failed on mac11.0/cxx17. Failing tests: |
|
Build failed on windows10/cxx14. Errors:
Failing tests:
|
|
@phsft-bot build |
|
Starting build on |
|
Build failed on windows10/cxx14. Errors:
|
|
Build failed on mac11.0/cxx17. Failing tests: |
|
@phsft-bot build |
|
Starting build on |
|
Build failed on mac1015/python3. Failing tests: |
|
Build failed on mac11/cxx17. Failing tests:
And 4 more |
|
Build failed on windows10/cxx14. Errors:
|
|
The failures are unrelated |
This fixes #8987 (case where the base class deletes operator=).
In case where the class generated by MakeProject derived from a class that deletes the operator= then in some compiler we get the error below (which is expected since the class generated by MakeProject has a copy constructor which is needed by stl collection).