26 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++17, c++2010 11// struct from_range_t { explicit from_range_t() = default; }; // Since C++2312// inline constexpr from_range_t from_range{}; // Since C++2313 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