non-member swap for array was mistakenly taking const ref params. Fixed and added test. Thanks to Ben Craig for the catch

llvm-svn: 262866
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: ee66eb132857737995fc3c22777d4705f3afd82b
diff --git a/include/array b/include/array
index 8866eaf..f0350ea 100644
--- a/include/array
+++ b/include/array
@@ -279,7 +279,7 @@
     __is_swappable<_Tp>::value,
     void
 >::type
-swap(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
+swap(array<_Tp, _Size>& __x, array<_Tp, _Size>& __y)
                                   _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value)
 {
     __x.swap(__y);