]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/std/ranges/iota/lwg3292_neg.cc
libstdc++: Make views::single/iota/istream SFINAE-friendly [PR108362]
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / std / ranges / iota / lwg3292_neg.cc
CommitLineData
7adcbafe 1// Copyright (C) 2020-2022 Free Software Foundation, Inc.
7f0f1083
PP
2//
3// This file is part of the GNU ISO C++ Library. This library is free
4// software; you can redistribute it and/or modify it under the
5// terms of the GNU General Public License as published by the
6// Free Software Foundation; either version 3, or (at your option)
7// any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13
14// You should have received a copy of the GNU General Public License along
15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
17
18// { dg-options "-std=gnu++2a" }
19// { dg-do compile { target c++2a } }
20
21#include <sstream>
22#include <ranges>
23
24namespace ranges = std::ranges;
25namespace views = std::views;
26
27void
28test01()
29{
30 std::istringstream s("1 2 3 4 5");
31 auto v = ranges::istream_view<int>(s);
32 auto i = v.begin();
33 static_assert(!std::semiregular<decltype(i)>);
34 auto o = views::iota(std::move(i));
35 static_assert(false); // { dg-error "" }
36}
37
38// { dg-prune-output "no match" }
39// { dg-prune-output "deduction failed" }
40// { dg-prune-output "constraint failure" }
7d0cddce 41// { dg-prune-output "in requirements" }