// { dg-do assemble } // GROUPS passed templates template< class R, class T1 = R, class T2 = T1 > struct plus { R operator()( const T1& x, const T2& y ) const { return x + y; } }; int main() { plus< int > p; return 0; }