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.

Reply via email to