https://github.com/MikeWeller created https://github.com/llvm/llvm-project/pull/88138
Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor that is deleted. >From 6c188e730f43467c3a7940c0ca6f6bd0bc8fc7f1 Mon Sep 17 00:00:00 2001 From: Mike Weller <mwell...@bloomberg.net> Date: Tue, 9 Apr 2024 16:03:31 +0100 Subject: [PATCH] [clang-tidy] Ignore delete ctor in `bugprone-forwarding-reference-overload` Fix `bugprone-forwarding-reference-overload` so it doesn't report a constructor that is deleted. --- .../bugprone/ForwardingReferenceOverloadCheck.cpp | 1 + .../checkers/bugprone/forwarding-reference-overload.cpp | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp index c608fe713f9f5b..e42b40d7b6690e 100644 --- a/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp @@ -73,6 +73,7 @@ void ForwardingReferenceOverloadCheck::registerMatchers(MatchFinder *Finder) { DeclarationMatcher FindOverload = cxxConstructorDecl( hasParameter(0, ForwardingRefParm), + unless(isDeleted()), unless(hasAnyParameter( // No warning: enable_if as constructor parameter. parmVarDecl(hasType(isEnableIf())))), diff --git a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp index 38b0691bc9f1ec..609baa049a2063 100644 --- a/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp @@ -251,3 +251,10 @@ class Test10 { Test10(T &&Item, E e) : e(e){} }; + +// A deleted ctor cannot hide anything +class Test11 { +public: + template <typename T> + Test11(T&&) = delete; +}; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits