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()33 void func() {
34   my_pair x;
35 }
36