[Bug c++/68812] New: [concepts] bogus mismatched argument pack lengths

lucdanton at free dot fr gcc-bugzilla@gcc.gnu.org
Wed Dec 9 10:25:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68812

            Bug ID: 68812
           Summary: [concepts] bogus mismatched argument pack lengths
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lucdanton at free dot fr
  Target Milestone: ---

Using 6.0.0 20151208. Compiling yields:

$ g++-trunk -std=c++1z main.cpp 
main.cpp: In instantiation of 'struct foo<int, long int, double>':
main.cpp:12:32:   required from here
main.cpp:7:5: error: mismatched argument pack lengths while expanding 'Foo<T,
U>'

----------------------------------------
template<typename X, typename Y> concept bool Foo = true;

template<typename... T>
struct foo {
    template<typename... U>
    // error: mismatched argument pack lengths while expanding 'Foo<T, U>'
    foo(U...)
        requires (Foo<T, U> && ...)
    {}
};

void bar(foo<int, long, double>) {}

int main()
{
}
----------------------------------------


More information about the Gcc-bugs mailing list