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 // [[nodiscard]] constexpr bool empty() const noexcept; 13*a8cf78c7SLouis Dionne 14*a8cf78c7SLouis Dionne #include <span> 15*a8cf78c7SLouis Dionne test()16*a8cf78c7SLouis Dionnevoid test() { 17*a8cf78c7SLouis Dionne std::span<int> s1; 18*a8cf78c7SLouis Dionne s1.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}} 19*a8cf78c7SLouis Dionne 20*a8cf78c7SLouis Dionne int arr[] = {1, 2, 3}; 21*a8cf78c7SLouis Dionne std::span<int, 3> s2{arr}; 22*a8cf78c7SLouis Dionne s2.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}} 23*a8cf78c7SLouis Dionne } 24