1*a8cf78c7SLouis Dionne //===----------------------------------------------------------------------===// 2*a8cf78c7SLouis Dionne // 3*a8cf78c7SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*a8cf78c7SLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5*a8cf78c7SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*a8cf78c7SLouis Dionne // 7*a8cf78c7SLouis Dionne //===----------------------------------------------------------------------===// 8*a8cf78c7SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14, c++17 9*a8cf78c7SLouis Dionne 10*a8cf78c7SLouis Dionne // <span> 11*a8cf78c7SLouis Dionne 12*a8cf78c7SLouis Dionne // ~span() = default; 13*a8cf78c7SLouis Dionne 14*a8cf78c7SLouis Dionne #include <span> 15*a8cf78c7SLouis Dionne #include <type_traits> 16*a8cf78c7SLouis Dionne 17*a8cf78c7SLouis Dionne template <class T> testDestructor()18*a8cf78c7SLouis Dionneconstexpr void testDestructor() { 19*a8cf78c7SLouis Dionne static_assert(std::is_nothrow_destructible_v<T>); 20*a8cf78c7SLouis Dionne static_assert(std::is_trivially_destructible_v<T>); 21*a8cf78c7SLouis Dionne } 22*a8cf78c7SLouis Dionne test()23*a8cf78c7SLouis Dionnevoid test() { 24*a8cf78c7SLouis Dionne testDestructor<std::span<int, 1>>(); 25*a8cf78c7SLouis Dionne testDestructor<std::span<int>>(); 26*a8cf78c7SLouis Dionne } 27