1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <queue>
11
12// void swap(queue& c)
13//     noexcept(__is_nothrow_swappable<container_type>::value);
14
15// This tests a conforming extension
16
17#include <queue>
18#include <cassert>
19
20#include "../../../MoveOnly.h"
21
22int main()
23{
24#if __has_feature(cxx_noexcept)
25    {
26        typedef std::queue<MoveOnly> C;
27        C c1, c2;
28        static_assert(noexcept(swap(c1, c2)), "");
29    }
30#endif
31}
32