https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112842
Bug ID: 112842 Summary: Constrained parameter pack with trailing param gives no matching function. Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jehelset at gmail dot com Target Milestone: --- Created attachment 56785 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56785&action=edit Minimal reproducer, compile with --std=c++20 Program below doesn't compile: template<typename T,typename V> concept U = true; template<typename... I> struct V{ static constexpr void f(U<I> auto ...,int){ } }; int main(){ V<int>::f(0,1); //no matching function for call to ‘V<int>::f(int, int)’ //template argument deduction/substitution failed: //candidate expects 1 argument, 2 provided } If there's no trailing parameter it works ok. clang-trunk seemed to handle it fine. gcc-trunk also failed this.