[clang] [clang-tools-extra] [Clang] Add __type_list_dedup builtin to deduplicate types in template arguments (PR #106730)
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 10 01:53:17 PDT 2024
================
@@ -309,7 +309,10 @@ enum BuiltinTemplateKind : int {
BTK__make_integer_seq,
/// This names the __type_pack_element BuiltinTemplateDecl.
- BTK__type_pack_element
+ BTK__type_pack_element,
+
+ /// This names the __type_list_dedup BuiltinTemplateDecl.
+ BTK__type_list_dedup,
----------------
ilya-biryukov wrote:
I have mentioned that in the RFC, see [alternatives considered](https://discourse.llvm.org/t/rfc-adding-builtin-for-deduplicating-type-lists/80986#p-328944-alternative-considered-type-trait-4) section.
I think the builtin template is better because it:
- provides the most obvious semantics for type aliases and avoids confusion,
- avoids the need for instantiation of the underlying template with non-duplicated list types,
- is simpler to implement.
https://github.com/llvm/llvm-project/pull/106730
More information about the cfe-commits
mailing list