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// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
10
11// struct from_range_t { explicit from_range_t() = default; }; // Since C++23
12// inline constexpr from_range_t from_range{}; // Since C++23
13
14#include <ranges>
15
16template <class T>
17void check(std::from_range_t);
18
19template <class T>
20concept IsCtrNonexplicit = requires {
21 check<T>({});
22};
23
24// Verify that the constructor is `explicit`.
25static_assert(!IsCtrNonexplicit<std::from_range_t>);
26

source code of libcxx/test/std/ranges/range.utility/range.utility.conv/from_range_t.compile.pass.cpp