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.

Reply via email to