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