1 // PR c++/52875
2 // { dg-do compile { target c++11 } }
3 
4 struct A
5 {
swapA6   friend void swap(A&,A&)  {}
7 };
8 
9 class B
10 {
11   A a;
12 
13   template <class T>
14   friend auto swap(T& x, T& y) -> decltype(swap(x.a,y.a))
15   {
16     swap(x.a,y.a);
17   }
18 };
19 
main()20 int main()
21 {
22   B x, y;
23   swap(x, y);
24 }
25