// PR c++/84698 // { dg-do compile { target c++11 } } template struct X { void swap(X& o) noexcept { } template friend void swap(X& a, X& b) noexcept(noexcept(a.swap(b))); }; template inline void swap(X& a, X& b) noexcept(noexcept(a.swap(b))) { } int main () { X x; }