1*e53c461bSKonstantin Varlamov //===----------------------------------------------------------------------===// 2*e53c461bSKonstantin Varlamov // 3*e53c461bSKonstantin Varlamov // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*e53c461bSKonstantin Varlamov // See https://llvm.org/LICENSE.txt for license information. 5*e53c461bSKonstantin Varlamov // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*e53c461bSKonstantin Varlamov // 7*e53c461bSKonstantin Varlamov //===----------------------------------------------------------------------===// 8*e53c461bSKonstantin Varlamov 9*e53c461bSKonstantin Varlamov // UNSUPPORTED: c++03, c++11, c++14, c++17 10*e53c461bSKonstantin Varlamov // UNSUPPORTED: libcpp-has-no-incomplete-ranges 11*e53c461bSKonstantin Varlamov 12*e53c461bSKonstantin Varlamov // std::ranges::lazy_split_view::outer-iterator::outer-iterator() 13*e53c461bSKonstantin Varlamov 14*e53c461bSKonstantin Varlamov #include <ranges> 15*e53c461bSKonstantin Varlamov 16*e53c461bSKonstantin Varlamov #include "../types.h" 17*e53c461bSKonstantin Varlamov test()18*e53c461bSKonstantin Varlamovconstexpr bool test() { 19*e53c461bSKonstantin Varlamov // `View` is a forward range. 20*e53c461bSKonstantin Varlamov { 21*e53c461bSKonstantin Varlamov [[maybe_unused]] OuterIterForward i; 22*e53c461bSKonstantin Varlamov } 23*e53c461bSKonstantin Varlamov 24*e53c461bSKonstantin Varlamov { 25*e53c461bSKonstantin Varlamov [[maybe_unused]] OuterIterForward i = {}; 26*e53c461bSKonstantin Varlamov } 27*e53c461bSKonstantin Varlamov 28*e53c461bSKonstantin Varlamov // `View` is an input range. 29*e53c461bSKonstantin Varlamov { 30*e53c461bSKonstantin Varlamov [[maybe_unused]] OuterIterInput i; 31*e53c461bSKonstantin Varlamov } 32*e53c461bSKonstantin Varlamov 33*e53c461bSKonstantin Varlamov { 34*e53c461bSKonstantin Varlamov [[maybe_unused]] OuterIterInput i = {}; 35*e53c461bSKonstantin Varlamov } 36*e53c461bSKonstantin Varlamov 37*e53c461bSKonstantin Varlamov return true; 38*e53c461bSKonstantin Varlamov } 39*e53c461bSKonstantin Varlamov main(int,char **)40*e53c461bSKonstantin Varlamovint main(int, char**) { 41*e53c461bSKonstantin Varlamov test(); 42*e53c461bSKonstantin Varlamov static_assert(test()); 43*e53c461bSKonstantin Varlamov 44*e53c461bSKonstantin Varlamov return 0; 45*e53c461bSKonstantin Varlamov } 46