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() {}