https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83447
Bug ID: 83447 Summary: parameter after function parameter pack gets improperly deduced Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: barry.revzin at gmail dot com Target Milestone: --- This example compiles: template <typename... Args, typename T> void foo(Args..., T ) { } int main() { foo(0); } with Args deducing as empty and T as int. But Args is a non-deduced context (http://eel.is/c++draft/temp#deduct.type-5.7). And I don't think "trailing" can be said to apply to Args here (http://eel.is/c++draft/temp#arg.explicit-3.sentence-2). The call should fail.