xref: /llvm-project/libcxx/test/std/ranges/range.access/ssize.verify.cpp (revision b8cb1dc9ea87faa8e8e9ab7a31710a8c0bb8b084)
1*79a2b4baSKonstantin Varlamov //===----------------------------------------------------------------------===//
2*79a2b4baSKonstantin Varlamov //
3*79a2b4baSKonstantin Varlamov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*79a2b4baSKonstantin Varlamov // See https://llvm.org/LICENSE.txt for license information.
5*79a2b4baSKonstantin Varlamov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*79a2b4baSKonstantin Varlamov //
7*79a2b4baSKonstantin Varlamov //===----------------------------------------------------------------------===//
8*79a2b4baSKonstantin Varlamov 
9*79a2b4baSKonstantin Varlamov // UNSUPPORTED: c++03, c++11, c++14, c++17
10*79a2b4baSKonstantin Varlamov 
11*79a2b4baSKonstantin Varlamov // std::ranges::size
12*79a2b4baSKonstantin Varlamov 
13*79a2b4baSKonstantin Varlamov #include <ranges>
14*79a2b4baSKonstantin Varlamov 
15*79a2b4baSKonstantin Varlamov extern int arr[];
16*79a2b4baSKonstantin Varlamov 
17*79a2b4baSKonstantin Varlamov // Verify that for an array of unknown bound `ranges::ssize` is ill-formed.
test()18*79a2b4baSKonstantin Varlamov void test() {
19*79a2b4baSKonstantin Varlamov   std::ranges::ssize(arr);
20*79a2b4baSKonstantin Varlamov   // expected-error-re@-1 {{{{no matching function for call to object of type 'const (std::ranges::)?__ssize::__fn'}}}}
21*79a2b4baSKonstantin Varlamov }
22