Author
anonymous
about 4 years ago
Language
C++
Compiler
gcc HEAD 11.0.1 20210407 (experimental)
Options
Warnings
Boost 1.73.0
C++2b(GNU)
no pedantic
Author
anonymous
about 4 years ago
$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.73.0/gcc-head/include -std=gnu++2b
In file included from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges: In instantiation of 'std::ranges::views::<lambda(_Range&&, _Pred&&)> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>&]':
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:810:27: required from 'std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> [with _Range = std::vector<int>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:841:44: required by substitution of 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&) [with _Range = std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)>]'
prog.cc:12:49: required from here
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:83: error: class template argument deduction failed:
1924 | return take_while_view{std::forward<_Range>(__r), std::forward<_Pred>(__p)};
| ^
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:83: error: no matching function for call to 'take_while_view(std::vector<int>&, main()::<lambda(int)>&)'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1878:7: note: candidate: 'template<class _Vp, class _Pred> take_while_view(_Vp, _Pred)-> std::ranges::take_while_view<_Vp, _Pred>'
1878 | take_while_view(_Vp base, _Pred __pred)
| ^~~~~~~~~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1878:7: note: template argument deduction/substitution failed:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges: In substitution of 'template<class _Vp, class _Pred> take_while_view(_Vp, _Pred)-> std::ranges::take_while_view<_Vp, _Pred> [with _Vp = std::vector<int>; _Pred = main()::<lambda(int)>]':
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:76: required from 'std::ranges::views::<lambda(_Range&&, _Pred&&)> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:810:27: required from 'std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> [with _Range = std::vector<int>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:841:44: required by substitution of 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&) [with _Range = std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)>]'
prog.cc:12:49: required from here
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1878:7: error: template constraint failure for 'template<class _Vp, class _Pred> requires (view<_Vp>) && ((input_range<_Vp>) && (is_object_v<_Pred>) && (indirect_unary_predicate<const _Pred, decltype(std::__detail::__ranges_begin((declval<_Container&>)()))>)) class std::ranges::take_while_view'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1878:7: note: constraints not satisfied
In file included from /opt/wandbox/gcc-head/include/c++/11.0.1/string_view:44,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/basic_string.h:48,
from /opt/wandbox/gcc-head/include/c++/11.0.1/string:55,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/locale_classes.h:40,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:41,
from /opt/wandbox/gcc-head/include/c++/11.0.1/streambuf:41,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/streambuf_iterator.h:35,
from /opt/wandbox/gcc-head/include/c++/11.0.1/iterator:66,
from /opt/wandbox/gcc-head/include/c++/11.0.1/ranges:43,
from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ranges_base.h: In substitution of 'template<class _Vp, class _Pred> requires (view<_Vp>) && ((input_range<_Vp>) && (is_object_v<_Pred>) && (indirect_unary_predicate<const _Pred, decltype(std::__detail::__ranges_begin((declval<_Container&>)()))>)) class std::ranges::take_while_view [with _Vp = std::vector<int>; _Pred = main()::<lambda(int)>]':
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1878:7: required by substitution of 'template<class _Vp, class _Pred> take_while_view(_Vp, _Pred)-> std::ranges::take_while_view<_Vp, _Pred> [with _Vp = std::vector<int>; _Pred = main()::<lambda(int)>]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:76: required from 'std::ranges::views::<lambda(_Range&&, _Pred&&)> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:810:27: required from 'std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> [with _Range = std::vector<int>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:841:44: required by substitution of 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&) [with _Range = std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)>]'
prog.cc:12:49: required from here
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ranges_base.h:626:13: required for the satisfaction of 'view<_Vp>' [with _Vp = std::vector<int, std::allocator<int> >]
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ranges_base.h:628:12: note: the expression 'enable_view<_Tp> [with _Tp = std::vector<int, std::allocator<int> >]' evaluated to 'false'
628 | && enable_view<_Tp>;
| ^~~~~~~~~~~~~~~~
In file included from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges: In instantiation of 'std::ranges::views::<lambda(_Range&&, _Pred&&)> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>&]':
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:810:27: required from 'std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> [with _Range = std::vector<int>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:841:44: required by substitution of 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&) [with _Range = std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)>]'
prog.cc:12:49: required from here
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1875:7: note: candidate: 'template<class _Vp, class _Pred> take_while_view()-> std::ranges::take_while_view<_Vp, _Pred>'
1875 | take_while_view() = default;
| ^~~~~~~~~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1875:7: note: template argument deduction/substitution failed:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:83: note: candidate expects 0 arguments, 2 provided
1924 | return take_while_view{std::forward<_Range>(__r), std::forward<_Pred>(__p)};
| ^
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1829:11: note: candidate: 'template<class _Vp, class _Pred> take_while_view(std::ranges::take_while_view<_Vp, _Pred>)-> std::ranges::take_while_view<_Vp, _Pred>'
1829 | class take_while_view : public view_interface<take_while_view<_Vp, _Pred>>
| ^~~~~~~~~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1829:11: note: template argument deduction/substitution failed:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:83: note: 'std::vector<int>' is not derived from 'std::ranges::take_while_view<_Vp, _Pred>'
1924 | return take_while_view{std::forward<_Range>(__r), std::forward<_Pred>(__p)};
| ^
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1916:5: note: candidate: 'template<class _Range, class _Pred> std::ranges::take_while_view(_Range&&, _Pred)-> std::ranges::take_while_view<std::ranges::views::all_t<_Range>, _Pred>'
1916 | take_while_view(_Range&&, _Pred)
| ^~~~~~~~~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1916:5: note: template argument deduction/substitution failed:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges: In substitution of 'template<class _Range, class _Pred> std::ranges::take_while_view(_Range&&, _Pred)-> std::ranges::take_while_view<std::ranges::views::all_t<_Range>, _Pred> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>]':
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:76: required from 'std::ranges::views::<lambda(_Range&&, _Pred&&)> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:810:27: required from 'std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> [with _Range = std::vector<int>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:841:44: required by substitution of 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&) [with _Range = std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)>]'
prog.cc:12:49: required from here
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1916:5: error: template constraint failure for 'template<class _Vp, class _Pred> requires (view<_Vp>) && ((input_range<_Vp>) && (is_object_v<_Pred>) && (indirect_unary_predicate<const _Pred, decltype(std::__detail::__ranges_begin((declval<_Container&>)()))>)) class std::ranges::take_while_view'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1916:5: note: constraints not satisfied
In file included from /opt/wandbox/gcc-head/include/c++/11.0.1/compare:39,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/stl_pair.h:65,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/stl_algobase.h:64,
from /opt/wandbox/gcc-head/include/c++/11.0.1/vector:60,
from prog.cc:1:
/opt/wandbox/gcc-head/include/c++/11.0.1/concepts: In substitution of 'template<class _Vp, class _Pred> requires (view<_Vp>) && ((input_range<_Vp>) && (is_object_v<_Pred>) && (indirect_unary_predicate<const _Pred, decltype(std::__detail::__ranges_begin((declval<_Container&>)()))>)) class std::ranges::take_while_view [with _Vp = std::ranges::ref_view<std::vector<int> >; _Pred = main()::<lambda(int)>]':
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1916:5: required by substitution of 'template<class _Range, class _Pred> std::ranges::take_while_view(_Range&&, _Pred)-> std::ranges::take_while_view<std::ranges::views::all_t<_Range>, _Pred> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:1924:76: required from 'std::ranges::views::<lambda(_Range&&, _Pred&&)> [with _Range = std::vector<int>&; _Pred = main()::<lambda(int)>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:810:27: required from 'std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> [with _Range = std::vector<int>&]'
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:841:44: required by substitution of 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&) [with _Range = std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)>]'
prog.cc:12:49: required from here
/opt/wandbox/gcc-head/include/c++/11.0.1/concepts:338:13: required for the satisfaction of 'invocable<_Fn, _Args ...>' [with _Fn = const main::._anon_123&; _Args = {int&}]
/opt/wandbox/gcc-head/include/c++/11.0.1/concepts:342:13: required for the satisfaction of 'regular_invocable<_Fn, _Args ...>' [with _Fn = const main::._anon_123&; _Args = {int&}]
/opt/wandbox/gcc-head/include/c++/11.0.1/concepts:346:13: required for the satisfaction of 'predicate<_Fn&, typename std::__detail::__iter_traits_impl<typename std::remove_cv<typename std::remove_reference<_Arg>::type>::type, std::indirectly_readable_traits<typename std::remove_cv<typename std::remove_reference<_Arg>::type>::type> >::type::value_type&>' [with _Fn = const main::._anon_123; _Iter = __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >]
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/iterator_concepts.h:708:13: required for the satisfaction of 'indirect_unary_predicate<const _Pred, decltype (std::__detail::__ranges_begin(declval<_Container&>()))>' [with _Pred = main::._anon_123; _Vp = std::ranges::ref_view<std::vector<int, std::allocator<int> > >]
/opt/wandbox/gcc-head/include/c++/11.0.1/concepts:338:25: note: the expression 'is_invocable_v<_Fn, _Args ...> [with _Fn = const main::._anon_123&; _Args = {int&}]' evaluated to 'false'
338 | concept invocable = is_invocable_v<_Fn, _Args...>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc: In function 'int main()':
prog.cc:12:20: error: no match for 'operator|' (operand types are 'std::vector<int>' and 'std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >')
12 | for (int i : v | std::views::take_while(cond)) {
| ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| std::vector<int> std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >
In file included from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:848:11: note: candidate: 'template<class _Tp> constexpr auto std::ranges::views::__adaptor::operator|(const std::ranges::views::__adaptor::_RangeAdaptorClosure<_Callable>&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&)'
848 | operator|(const _RangeAdaptorClosure<_Tp>& __x,
| ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:848:11: note: template argument deduction/substitution failed:
prog.cc:12:49: note: 'std::vector<int>' is not derived from 'const std::ranges::views::__adaptor::_RangeAdaptorClosure<_Callable>'
12 | for (int i : v | std::views::take_while(cond)) {
| ^
In file included from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:843:11: note: candidate: 'template<class _Range> requires (viewable_range<_Range>) && requires{(declval<_Callable>)()((declval<_Range>)());} constexpr auto std::ranges::views::__adaptor::operator|(_Range&&, const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::__adaptor::_RangeAdaptor<std::ranges::views::<lambda(_Range&&, _Pred&&)> >::operator()<main()::<lambda(int)>&>(main()::<lambda(int)>&) const::<lambda(_Range&&)> >&)'
843 | operator|(_Range&& __r, const _RangeAdaptorClosure& __o)
| ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/ranges:843:11: note: substitution of deduced template arguments resulted in errors seen above
In file included from /opt/wandbox/gcc-head/include/c++/11.0.1/streambuf:41,
from /opt/wandbox/gcc-head/include/c++/11.0.1/bits/streambuf_iterator.h:35,
from /opt/wandbox/gcc-head/include/c++/11.0.1/iterator:66,
from /opt/wandbox/gcc-head/include/c++/11.0.1/ranges:43,
from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:87:3: note: candidate: 'constexpr std::_Ios_Fmtflags std::operator|(std::_Ios_Fmtflags, std::_Ios_Fmtflags)'
87 | operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
| ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:87:27: note: no known conversion for argument 1 from 'std::vector<int>' to 'std::_Ios_Fmtflags'
87 | operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
| ~~~~~~~~~~~~~~^~~
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:129:3: note: candidate: 'constexpr std::_Ios_Openmode std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)'
129 | operator|(_Ios_Openmode __a, _Ios_Openmode __b)
| ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:129:27: note: no known conversion for argument 1 from 'std::vector<int>' to 'std::_Ios_Openmode'
129 | operator|(_Ios_Openmode __a, _Ios_Openmode __b)
| ~~~~~~~~~~~~~~^~~
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:169:3: note: candidate: 'constexpr std::_Ios_Iostate std::operator|(std::_Ios_Iostate, std::_Ios_Iostate)'
169 | operator|(_Ios_Iostate __a, _Ios_Iostate __b)
| ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/11.0.1/bits/ios_base.h:169:26: note: no known conversion for argument 1 from 'std::vector<int>' to 'std::_Ios_Iostate'
169 | operator|(_Ios_Iostate __a, _Ios_Iostate __b)
| ~~~~~~~~~~~~~^~~
Exit Code:
1