// { dg-do assemble } // Origin: Theodore Papadopoulo template class A { public: class B { }; class C: public B { public: C(A&):B() { } }; C f() { return C(*this); } }; int main() { A a; a.f(); }