1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
5 struct bound_argument {
8 template <class T_functor> struct adaptor_functor : public adaptor_base {
9 explicit adaptor_functor(const T_functor& _A_functor) : functor_(_A_functor)
13 bound_argument bound_;
15 template <class T_functor> struct adapts : public adaptor_base {
16 explicit adapts(const T_functor& _A_functor) : functor_(_A_functor) {
18 adaptor_functor<T_functor> functor_;
21 adapts<adapts<int> > a (adapts<int>(1));