1 // PR c++/13157 2 3 namespace aa 4 { 5 double abs(double); 6 long double abs(long double); 7 } 8 9 namespace fu 10 { 11 template <class T> 12 struct X 13 {}; 14 15 template <class T> test(X<T> x)16 X<T> test(X<T> x) 17 { 18 using ::aa::abs; 19 return abs(x); 20 } 21 22 template <class T> 23 X<T> abs(X<T>); 24 25 X<int> x; 26 X<int> z = test(x); 27 } 28 29