1 // PR c++/38233 2 3 template<class _T1, class _T2> 4 struct pair 5 { 6 _T1 first; 7 _T2 second; 8 9 // _GLIBCXX_RESOLVE_LIB_DEFECTS 10 // 265. std::pair::pair() effects overly restrictive 11 /** The default constructor creates @c first and @c second using their 12 * respective default constructors. */ pairpair13 pair() 14 : first(), second() { } 15 }; 16 17 class a { 18 public: 19 a(); 20 }; 21 22 class b { 23 public: 24 // implicit default ctor 25 bool operator<(const b& rhs) const; 26 27 private: 28 a a_val; 29 }; 30 31 typedef pair<const b, int> my_pair; 32 func()33void func() { 34 my_pair x; 35 } 36