diff options
-rw-r--r-- | clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp | 2 | ||||
-rw-r--r-- | clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp b/clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp index a9386965a7e..944adf90083 100644 --- a/clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp @@ -34,7 +34,7 @@ void ExplicitConstructorCheck::check(const MatchFinder::MatchResult &Result) { // Do not be confused: isExplicit means 'explicit' keyword is present, // isImplicit means that it's a compiler-generated constructor. if (Ctor->isOutOfLine() || Ctor->isExplicit() || Ctor->isImplicit() || - Ctor->isDeleted()) + Ctor->isDeleted() || Ctor->isCopyOrMoveConstructor()) return; if (Ctor->getNumParams() == 0 || Ctor->getMinRequiredArguments() > 1) return; diff --git a/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp b/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp index 56bc443cbe2..b09afe2f9f7 100644 --- a/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp +++ b/clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp @@ -12,8 +12,12 @@ namespace test { TEST(ExplicitConstructorCheckTest, SingleArgumentConstructorsOnly) { EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(); };"); EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(int i, int j); };"); + EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(const C&); };"); + EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(C&&); };"); EXPECT_NO_CHANGES(ExplicitConstructorCheck, "class C { C(const C&) = delete; };"); + EXPECT_NO_CHANGES(ExplicitConstructorCheck, + "class C { C(int) = delete; };"); } TEST(ExplicitConstructorCheckTest, Basic) { |