forked from OSchip/llvm-project
parent
379609329d
commit
b7f045fc7d
|
@ -64,9 +64,7 @@ int main()
|
|||
}
|
||||
{
|
||||
typedef NonSwappable T;
|
||||
typedef std::array<T, 42> C1;
|
||||
typedef std::array<T, 0> C0;
|
||||
static_assert(!can_swap<C1&>::value, "");
|
||||
static_assert(can_swap<C0&>::value, "");
|
||||
C0 l = {};
|
||||
C0 r = {};
|
||||
|
@ -75,4 +73,13 @@ int main()
|
|||
static_assert(noexcept(swap(l, r)), "");
|
||||
#endif
|
||||
}
|
||||
#if TEST_STD_VER >= 11
|
||||
{
|
||||
// NonSwappable is still considered swappable in C++03 because there
|
||||
// is no access control SFINAE.
|
||||
typedef NonSwappable T;
|
||||
typedef std::array<T, 42> C1;
|
||||
static_assert(!can_swap<C1&>::value, "");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue