[Bug c++/111485] New: Constraint mismatch on template template parameter
barry.revzin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Sep 19 16:50:52 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111485
Bug ID: 111485
Summary: Constraint mismatch on template template parameter
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: barry.revzin at gmail dot com
Target Milestone: ---
Reduced from StackOverflow (https://stackoverflow.com/q/77136297/2069064):
template <typename T> constexpr bool regular = true;
template <typename T> concept C = regular<T>;
template<template<C> typename T> struct example { };
template<template<C> typename T> using example_t = example<T>;
gcc 13.2 rejects with:
<source>:6:61: error: constraint mismatch at argument 1 in template parameter
list for 'template<template<class> class requires C< <template-parameter-2-1>
> T> struct example'
6 | template<template<C> typename T> using example_t = example<T>;
| ^
<source>:6:61: note: expected 'template<class> class requires C<
<template-parameter-2-1> > T' but got 'template<class> class requires C<
<template-parameter-2-1> > T'
But this should be fine. Clang and MSVC accept. "
More information about the Gcc-bugs
mailing list