https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111314

            Bug ID: 111314
           Summary: Can not deduct parameter pack as a single type
           Product: gcc
           Version: 13.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xgao at nvidia dot com
  Target Milestone: ---

The following code does not work:

#include <type_traits>

template <typename>
struct Template {};

template <template <typename...> typename, typename>
struct DynamicType {};

template <typename T>
struct is_dynamic_type : std::false_type {};

template <template <typename...> typename Template, typename... Ts>
struct is_dynamic_type<DynamicType<Template, Ts...>> : std::true_type {};

template <typename T>
constexpr bool is_dynamic_type_v = is_dynamic_type<T>::value;

// This fails:
static_assert(is_dynamic_type_v<DynamicType<Template, int>>);

int main() {}

Reply via email to