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.