// PR c++/44628 template class Temp { int Val; public: operator T&(void) { return Val; } virtual T& operator=(T a ) // { dg-error "overriding" } { Val = a; return Val; } }; class Int : public Temp { public: Int& operator=(int a) // { dg-error "conflicting return type" } { return (*this); } };