brintos

brintos / llvm-project-archived public Read only

0
0
Text · 822 B · 3d82c73 Raw
31 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++03, c++11, c++14, c++1710 11// template<class F, class... Args>12// concept predicate;13 14#include <concepts>15 16constexpr bool check_subsumption(std::regular_invocable auto) {17  return false;18}19 20// clang-format off21template<class F>22requires std::predicate<F> && true23constexpr bool check_subsumption(F)24{25  return true;26}27// clang-format on28 29static_assert(!check_subsumption([] {}));30static_assert(check_subsumption([] { return true; }));31