since compiler can not deduce second parameter from first parameter.
when invoked as
std::vector<int> v({}, std::istream_iterator<int>{});As part of the fix made the second parameter of vector(iterator, iterator) constructor independent of the first parameter.
fixing:
https://bugs.llvm.org/show_bug.cgi?id=47497
You should test both combinations.
test<std::vector<int> >(input_iterator<const int*>{}, {}); test<std::vector<int> >(forward_iterator<const int*>{}, {});