view gcc/testsuite/g++.dg/template/dr1391-3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +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
}