1 // { dg-do assemble  }
2 // GROUPS passed templates
3 template< class R, class T1 = R, class T2 = T1 >
4 struct plus
5   {
operatorplus6   R operator()( const T1& x, const T2& y ) const
7     {
8     return x + y;
9     }
10   };
11 
12 int
main()13 main()
14   {
15   plus< int > p;
16   return 0;
17   }
18