1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// <queue>
10
11// template <class T, class Container = vector<T>,
12// class Compare = less<typename Container::value_type>>
13// class priority_queue
14// {
15// public:
16// typedef Container container_type;
17// typedef typename container_type::value_type value_type;
18// typedef typename container_type::reference reference;
19// typedef typename container_type::const_reference const_reference;
20// typedef typename container_type::size_type size_type;
21//
22// protected:
23// container_type c;
24// Compare comp;
25
26#include <stack>
27#include <cassert>
28#include <type_traits>
29
30int main(int, char**) {
31 // LWG#2566 says that the first template param must match the second one's value type
32 std::stack<double, std::deque<int>> t;
33
34 return 0;
35}
36

source code of libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp