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() { } ----------------------------------------