All the C++ compilers I have tried using (GCC,Clang,MSVC) will generate assignment operators even if the user defines a copy-constructor. This is the behaviour I set out to write a check for.
The cpp core guide lines recommend defining all or none of the special functions https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-default-operation-define-or-delete-them-all If the deprecation warning you mention will turn off the deprecated generation of special member functions when others are defined (or warn when deprecated compiler-generated functions are used) then the rule-of-five check is of reduced value. Jon On 3 February 2016 at 17:40, David Blaikie <dblai...@gmail.com> wrote: > Is this really that useful of a rule? The language does the right thing > for the most part already (you don't need to explicitly delete them - > they're implicitly deleted if you define any others - except for backcompat > with C++98, but those cases are deprecated & we should probably split out > the warning for that deprecation so it's easier to turn on separately) > > On Wed, Feb 3, 2016 at 5:25 AM, Jonathan B Coe via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> jbcoe retitled this revision from "clang-tidy check: Assignment and >> Construction" to "clang-tidy check: rule-of-five". >> jbcoe removed rL LLVM as the repository for this revision. >> jbcoe updated this revision to Diff 46775. >> jbcoe added a comment. >> >> I've responded to review comments (thanks for those) and renamed the >> check to 'rule-of-five'. >> >> I think it needs moving to cppcoreguidelines and needs destructor >> handling adding to it. As suggested, I'll address that in a later patch if >> everything else looks ok. >> >> >> http://reviews.llvm.org/D16376 >> >> Files: >> clang-tidy/misc/CMakeLists.txt >> clang-tidy/misc/MiscTidyModule.cpp >> clang-tidy/misc/RuleOfFiveCheck.cpp >> clang-tidy/misc/RuleOfFiveCheck.h >> docs/clang-tidy/checks/list.rst >> docs/clang-tidy/checks/misc-rule-of-five.rst >> test/clang-tidy/misc-rule-of-five.cpp >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits