https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86439

--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Another side effect of this is that GCC incorrectly rejects the following use
of CTAD + braced-init-lists:

struct B { };
struct C { };

template<class T>
struct A {
  A(T, B);
};

template<class T>
A(T, C) -> A<T>;

A a(0, {});

The problem is that building the call to the deduction guide has the side
effect of changing the type of the {} to C, which causes later overload
resolution to fail because C isn't convertible to B.

Reply via email to