From 84169fb67e94036dac70467c3d421746e8057478 Mon Sep 17 00:00:00 2001 From: Joe Loser Date: Tue, 7 Sep 2021 13:48:10 -0400 Subject: [PATCH] [libc++][NFC] Test span is nothrow trivially destructible Add tests showing `span` is trivially_destructible and nothrow_destructible. Note that we do not need to explicitly default the destructor in `span`. Reviewed By: ldionne, Mordante, #libc Differential Revision: https://reviews.llvm.org/D109286 --- .../views/span.cons/span.dtor.compile.pass.cpp | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 libcxx/test/std/containers/views/span.cons/span.dtor.compile.pass.cpp diff --git a/libcxx/test/std/containers/views/span.cons/span.dtor.compile.pass.cpp b/libcxx/test/std/containers/views/span.cons/span.dtor.compile.pass.cpp new file mode 100644 index 0000000..15cd7be --- /dev/null +++ b/libcxx/test/std/containers/views/span.cons/span.dtor.compile.pass.cpp @@ -0,0 +1,26 @@ +//===------------------------------ span ---------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===---------------------------------------------------------------------===// +// UNSUPPORTED: c++03, c++11, c++14, c++17 + +// + +// ~span() = default; + +#include +#include + +template +constexpr void testDestructor() { + static_assert(std::is_nothrow_destructible_v); + static_assert(std::is_trivially_destructible_v); +} + +void test() { + testDestructor>(); + testDestructor>(); +} -- 2.7.4