c++: fix initializer_list transformation [PR108071]
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / initlist133.C
blob08da5bebd0b052e22de602731a09792b39f8b1eb
1 // PR c++/108071
2 // { dg-do compile { target c++14 } }
4 #include <initializer_list>
6 template<bool> struct enable_if { };
7 template<> struct enable_if<true> { using type = void; };
9 template<typename T> constexpr bool is_array_v = false;
10 template<typename T, std::size_t N> constexpr bool is_array_v<T[N]> = true;
12 struct OUString
14   template<typename T, typename = typename enable_if<is_array_v<T>>::type>
15   OUString(T&) { }
18 struct vector
20   vector(std::initializer_list<OUString>) { }
21   template<typename Iter>
22   vector(Iter i, Iter j) { if (i != j) OUString(*i); }
25 vector v = { "" };