https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66092
Andrew Sutton <andrew.n.sutton at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrew.n.sutton at gmail dot com --- Comment #2 from Andrew Sutton <andrew.n.sutton at gmail dot com> --- I think that this should be ill-formed. template <typename T, typename U, typename... Args> concept bool Same() { return decltype(check<T, U, Args...>())::value; } template <typename... Args> requires Same<Args...>() void foo( Args... args ) {} Template constraint processing requires that flatten (inline) the check for Same<Args...>(), but I don't see how we can substitute a dependent argument pack into three distinct template parameters (T, U, and ...Args). The wording prohibiting this is missing in the TS.