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// template <class T, class Container = vector<T>,
13//           class Compare = less<typename Container::value_type>>
14// class priority_queue
15// {
16// public:
17//     typedef Container                                container_type;
18//     typedef typename container_type::value_type      value_type;
19//     typedef typename container_type::reference       reference;
20//     typedef typename container_type::const_reference const_reference;
21//     typedef typename container_type::size_type       size_type;
22//
23// protected:
24//     container_type c;
25//     Compare comp;
26
27#include <queue>
28#include <cassert>
29#include <type_traits>
30
31int main()
32{
33//  LWG#2566 says that the first template param must match the second one's value type
34    std::priority_queue<double, std::deque<int>> t;
35}
36