view gcc/testsuite/g++.dg/template/dr1391-3.C @ 145:1830386684a0

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

// DR 1391

template <class T> struct Z {
  typedef typename T::x xx;
};
template <class T> typename Z<T>::xx f(void *, T);
template <class T> void f(int, T);
struct A {} a;
int main() {
  f(1, a); // If the implementation rules out the first overload
  // because of the invalid conversion from int to void*,
  // the error instantiating Z<A> will be avoided
}