https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89062
Nikita Lisitsa <lisyarus at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |lisyarus at gmail dot com
--- Comment #5 from Nikita Lisitsa <lisyarus at gmail dot com> ---
Any updates on this? Can confirm this on all gcc versions from 7.1 to 10.2 (see
https://godbolt.org/z/4qnfea). Interestingly, for a variadic-template
constructor only the first argument triggers the error, i.e.
template <typename T>
struct A
{
A(T) {}
};
template <typename T>
A(T) -> A<T>;
template <typename T>
struct B
{
template <typename ... Args>
B(Args const & ...){}
};
void test()
{
B<int> b1(A{0}, A{0}, A{0}); // error
B<int> b2(A<int>{0}, A{0}, A{0}); // ok
}