view gcc/testsuite/g++.dg/template/pr87989.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// PR c++/87989
// { dg-do link }
// Resolved to template instantiation rather than non-template fn.

struct X {
  template <class T> operator T() const; // no definition
  operator float() const {return 0.f;}
};

template <class T>
T f(const X &x) {
  // Resoved in error to X::operator float<float>() const`
  // instead of correct `X::operator float() const
  return x.operator T();
}

int main ()
{
  return f<float>(X ());
}