https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85241
Bug ID: 85241 Summary: Requires-expressions, fold expressions, and member function templates with dependent parameters don't play nicely Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: cjdb.ns at gmail dot com Target Milestone: --- When declaring a class template with a member function template (that has dependent types), requires-expressions seem to ignore the dependent types. The minimal reproduction is available below, with a compiling static_assert equivalent: https://godbolt.org/g/Vzu5wQ. * Affects versions: GCC 6, GCC 7, GCC trunk * Affects platforms: Ubuntu 16.04, MSYS2 * Compiler options: -std=c++17 -fconcepts -Wall -Wextra -Wpedantic -Wconversion -Werror * Exact command: g++-7 -Wall -Wextra -Wpedantic -Wconversion -Werror -std=c++17 -fconcepts bad-concept.cpp * Compiler output: ``` bad-concept.cpp:14:47: required from here bad-concept.cpp:9:10: error: mismatched argument pack lengths while expanding ‘C<Ts, Us>’ void bar(Us&&...) {} ^~~ ```