[llvm] [orc-rt] Simplify CallableTraitsHelper specialization inheritance NFC. (PR #206869)
Lang Hames via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 30 19:15:31 PDT 2026
https://github.com/lhames created https://github.com/llvm/llvm-project/pull/206869
Make CallableTraitsHelper specializations inherit directly from ImplT. This is a no-op, but will simplify upcoming patches that will capture more information about the callable type.
>From 036b683cecefd1b0db13157dc1d1b34eaeb1c0b8 Mon Sep 17 00:00:00 2001
From: Lang Hames <lhames at gmail.com>
Date: Wed, 1 Jul 2026 12:09:45 +1000
Subject: [PATCH] [orc-rt] Simplify CallableTraitsHelper specialization
inheritance NFC.
Make CallableTraitsHelper specializations inherit directly from ImplT. This is
a no-op, but will simplify upcoming patches that will capture more information
about the callable type.
---
orc-rt/include/orc-rt/CallableTraitsHelper.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/orc-rt/include/orc-rt/CallableTraitsHelper.h b/orc-rt/include/orc-rt/CallableTraitsHelper.h
index 12d7d5672c73a..39f24b78607ff 100644
--- a/orc-rt/include/orc-rt/CallableTraitsHelper.h
+++ b/orc-rt/include/orc-rt/CallableTraitsHelper.h
@@ -39,22 +39,22 @@ struct CallableTraitsHelper<ImplT, RetT(ArgTs...)>
template <template <typename...> typename ImplT, typename RetT,
typename... ArgTs>
struct CallableTraitsHelper<ImplT, RetT (*)(ArgTs...)>
- : public CallableTraitsHelper<ImplT, RetT(ArgTs...)> {};
+ : public ImplT<RetT, ArgTs...> {};
template <template <typename...> typename ImplT, typename RetT,
typename... ArgTs>
struct CallableTraitsHelper<ImplT, RetT (&)(ArgTs...)>
- : public CallableTraitsHelper<ImplT, RetT(ArgTs...)> {};
+ : public ImplT<RetT, ArgTs...> {};
template <template <typename...> typename ImplT, typename ClassT, typename RetT,
typename... ArgTs>
struct CallableTraitsHelper<ImplT, RetT (ClassT::*)(ArgTs...)>
- : public CallableTraitsHelper<ImplT, RetT(ArgTs...)> {};
+ : public ImplT<RetT, ArgTs...> {};
template <template <typename...> typename ImplT, typename ClassT, typename RetT,
typename... ArgTs>
struct CallableTraitsHelper<ImplT, RetT (ClassT::*)(ArgTs...) const>
- : public CallableTraitsHelper<ImplT, RetT(ArgTs...)> {};
+ : public ImplT<RetT, ArgTs...> {};
namespace detail {
template <typename RetT, typename... ArgTs> struct CallableArgInfoImpl {
More information about the llvm-commits
mailing list