Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / libcxx / test / std / iterators / iterator.requirements / alg.req.ind.copy / indirectly_copyable.subsumption.compile.pass.cpp
blob9c51483f6f94ac007512eb60cf3cf2b962712892
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 //===----------------------------------------------------------------------===//
9 // UNSUPPORTED: c++03, c++11, c++14, c++17
11 // template<class In, class Out>
12 // concept indirectly_copyable;
14 #include <iterator>
16 template<std::indirectly_readable I, class O>
17 constexpr bool indirectly_copyable_subsumption() {
18 return false;
21 template<class I, class O>
22 requires std::indirectly_copyable<I, O>
23 constexpr bool indirectly_copyable_subsumption() {
24 return true;
27 static_assert(indirectly_copyable_subsumption<int*, int*>());