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
}

Reply via email to