https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85250

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-02-12
                 CC|                            |msebor at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |7.3.0, 8.2.0, 9.0

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed with the simplified test case below.  Not a regression.

$ cat pr85250.C && gcc -S -Wall pr85250.C
template <class T, class U> struct X;
template <class T> struct X<T, T> { typedef T U; };

struct A {
  template<typename T, typename X<T, int>::U = 0>
  operator T();
};

int main()
{
  A a;
  return 1 + a;
}
pr85250.C: In function ‘int main()’:
pr85250.C:12:12: error: no match for ‘operator+’ (operand types are ‘int’ and
‘A’)
   12 |   return 1 + a;
      |          ~ ^ ~
      |          |   |
      |          int A

Reply via email to