// { dg-do assemble  }
// Origin: Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

template <class T>
class A {
public:
        class B { };
        class C: public B {
        public:
                C(A&):B() { }
        };
        C f() { return C(*this); }
};

int
main()
{
        A<int> a;
        a.f();
}
