Mark LWG3274 as complete. The feature test macro `__cpp_lib_span` was added in `6d2599e4f776d0cd88438cb82a00c4fc25cc3f67`. https://wg21.link/p1024 mentions marking `span:::empty()` with `[[nodiscard]]` which is not done yet. So, do that and add tests. Reviewed By: ldionne, Quuxplusone, Mordante, #libc Differential Revision: https://reviews.llvm.org/D111516
25 lines
854 B
C++
25 lines
854 B
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// 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
|
|
// UNSUPPORTED: libcpp-has-no-incomplete-ranges
|
|
|
|
// <span>
|
|
|
|
// [[nodiscard]] constexpr bool empty() const noexcept;
|
|
|
|
#include <span>
|
|
|
|
void test() {
|
|
std::span<int> s1;
|
|
s1.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
|
|
|
int arr[] = {1, 2, 3};
|
|
std::span<int, 3> s2{arr};
|
|
s2.empty(); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}}
|
|
}
|