[clang] [clang] CTAD: implement the missing IsDeducible constraint for alias templates (PR #89358)

via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 24 00:52:00 PDT 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 83bc7b57714dc2f6b33c188f2b95a0025468ba51 502066518604dde5c7596f377a61d25562d2a5ab -- clang/include/clang/Basic/TypeTraits.h clang/include/clang/Sema/Sema.h clang/lib/Basic/TypeTraits.cpp clang/lib/Sema/SemaExprCXX.cpp clang/lib/Sema/SemaTemplate.cpp clang/lib/Sema/SemaTemplateDeduction.cpp clang/test/SemaCXX/cxx20-ctad-type-alias.cpp clang/test/SemaTemplate/deduction-guide.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/lib/Basic/TypeTraits.cpp b/clang/lib/Basic/TypeTraits.cpp
index 1728ea3abb..43d892d3b9 100644
--- a/clang/lib/Basic/TypeTraits.cpp
+++ b/clang/lib/Basic/TypeTraits.cpp
@@ -19,9 +19,9 @@ static constexpr const char *TypeTraitNames[] = {
 #define TYPE_TRAIT_1(Spelling, Name, Key) #Name,
 #include "clang/Basic/TokenKinds.def"
 #define TYPE_TRAIT_2(Spelling, Name, Key) #Name,
-  // IsDeducible is only used internally by clang for CTAD implementation and
-  // is not exposed to users.
-  TYPE_TRAIT_2(/**/, IsDeducible, KEYCXX)
+    // IsDeducible is only used internally by clang for CTAD implementation and
+    // is not exposed to users.
+    TYPE_TRAIT_2(/**/, IsDeducible, KEYCXX)
 #include "clang/Basic/TokenKinds.def"
 #define TYPE_TRAIT_N(Spelling, Name, Key) #Name,
 #include "clang/Basic/TokenKinds.def"
@@ -31,9 +31,10 @@ static constexpr const char *TypeTraitSpellings[] = {
 #define TYPE_TRAIT_1(Spelling, Name, Key) #Spelling,
 #include "clang/Basic/TokenKinds.def"
 #define TYPE_TRAIT_2(Spelling, Name, Key) #Spelling,
-  // __is_deducible is only used internally by clang for CTAD implementation and
-  // is not exposed to users.
-  TYPE_TRAIT_2(__is_deducible, /**/, KEYCXX)
+    // __is_deducible is only used internally by clang for CTAD implementation
+    // and
+    // is not exposed to users.
+    TYPE_TRAIT_2(__is_deducible, /**/, KEYCXX)
 #include "clang/Basic/TokenKinds.def"
 #define TYPE_TRAIT_N(Spelling, Name, Key) #Spelling,
 #include "clang/Basic/TokenKinds.def"
@@ -65,9 +66,9 @@ static constexpr const unsigned TypeTraitArities[] = {
 #define TYPE_TRAIT_1(Spelling, Name, Key) 1,
 #include "clang/Basic/TokenKinds.def"
 #define TYPE_TRAIT_2(Spelling, Name, Key) 2,
-  // IsDeducible is only used internally by clang for CTAD implementation and
-  // is not exposed to users.
-  TYPE_TRAIT_2(/**/, IsDeducible, KEYCXX)
+    // IsDeducible is only used internally by clang for CTAD implementation and
+    // is not exposed to users.
+    TYPE_TRAIT_2(/**/, IsDeducible, KEYCXX)
 #include "clang/Basic/TokenKinds.def"
 #define TYPE_TRAIT_N(Spelling, Name, Key) 0,
 #include "clang/Basic/TokenKinds.def"

``````````

</details>


https://github.com/llvm/llvm-project/pull/89358


More information about the cfe-commits mailing list