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