| // { dg-do assemble } | |
| // GROUPS passed conversions | |
| class A {}; | |
| template <class TP> | |
| class B | |
| { | |
| A &(*_f) (A &, TP); | |
| TP _a; | |
| public: | |
| B (A &(*f) (A &, TP), TP a) : _f (f), _a (a) {} | |
| friend A &operator<< (A &o, const B<TP> &m) | |
| { (*m._f) (o, m._a); return o; } | |
| }; | |
| A &setw (A &, int); | |
| B<int> setw (int n) | |
| { | |
| return B<int> (setw, n); | |
| } | |
| A x; | |
| void f () | |
| { | |
| x << setw (2); | |
| } |