Differential D127401 Diff 435519 libcxx/test/std/containers/views/views.span/trivially_copyable.compile.pass.cpp
Changeset View
Changeset View
Standalone View
Standalone View
libcxx/test/std/containers/views/views.span/trivially_copyable.compile.pass.cpp
// | // | ||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||||
// See https://llvm.org/LICENSE.txt for license information. | // See https://llvm.org/LICENSE.txt for license information. | ||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||||
// | // | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
// UNSUPPORTED: c++03, c++11, c++14, c++17 | // UNSUPPORTED: c++03, c++11, c++14, c++17 | ||||
// P2251 was voted into C++23, but is supported even in C++20 mode by all vendors. | // P2251 was voted into C++23, but is supported even in C++20 mode by all vendors. | ||||
// <span> | // <span> | ||||
#include <span> | #include <span> | ||||
#include <type_traits> | #include <type_traits> | ||||
#ifdef _LIBCPP_ENABLE_DEBUG_MODE | |||||
static_assert(!std::is_trivially_copyable_v<std::span<int>>); | |||||
static_assert(!std::is_trivially_copyable_v<std::span<int, 3>>); | |||||
#else | |||||
static_assert(std::is_trivially_copyable_v<std::span<int>>); | static_assert(std::is_trivially_copyable_v<std::span<int>>); | ||||
static_assert(std::is_trivially_copyable_v<std::span<int, 3>>); | static_assert(std::is_trivially_copyable_v<std::span<int, 3>>); | ||||
#endif |