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

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
You can construct a contrived testcase that fails the same way due to the
_Bit_reference(_Bit_type*, _Bit_type) constructor:

#include <vector>
#include <type_traits>

struct X { X(int, int) { } };

int test2(std::vector<bool>::reference);
void test2(X);

static_assert(std::is_same<decltype(test2({0,0})), void>::value, "");


This is ambiguous for the same reason. But we can't remove all private
constructors, we need to be able to construct it.

Reply via email to