PR c++/85765 - SFINAE and non-type default template arg.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / initlist2.C
blob550c8f64652ecf579ca40c3d1caf2c2ecb1512ac
1 // Test that conversion to std::initializer_list takes priority over other
2 // user-defined conversions.
4 // { dg-do link { target c++11 } }
6 #include <initializer_list>
8 struct string
10   string (const char *) {}
11   template <class Iter> string (Iter, Iter);
13   
14 template <class T, class U>
15 struct pair
17   pair (T t, U u) {}
20 template<class T, class U>
21 struct map
23   void insert (pair<T,U>);
24   void insert (std::initializer_list<pair<T,U> >) {}
27 int main()
29   map<string,string> m;
30   m.insert({ {"this","that"}, {"me","you"} });