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&&...) {}
          ^~~
```

Reply via email to