1// PR c++/44628 2 3template <typename T> 4class Temp 5{ 6 int Val; 7 public: 8 operator T&(void) { return Val; } 9 10 virtual T& operator=(T a ) // { dg-error "overriding" } 11 { 12 Val = a; 13 return Val; 14 } 15}; 16 17class Int : public Temp<int> 18{ 19 public: 20 Int& operator=(int a) // { dg-error "conflicting return type" } 21 { 22 return (*this); 23 } 24}; 25