Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

almost 4 years ago

Language

C++

Compiler

gcc HEAD 12.0.0 20210621 (experimental)

Options
Warnings
Boost 1.73.0
C++2b(GNU)
no pedantic

Author

anonymous

almost 4 years ago

$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.73.0/gcc-head/include -std=gnu++2b
prog.cc: In function 'int main()':
prog.cc:10:65: error: no match for 'operator|' (operand types are 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' and 'ranges::views::view_closure<ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn> >')
   10 |     auto reversed = (input | views::reverse | views::split(' ') | views::transform(views::reverse_fn{}));
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                             |                                     |
      |                                             |                                     ranges::views::view_closure<ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn> >
      |                                             ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >
In file included from /opt/wandbox/gcc-head/include/c++/12.0.0/regex:39,
                 from /opt/wandbox/range-v3/include/range/v3/view/tokenize.hpp:18,
                 from /opt/wandbox/range-v3/include/range/v3/view.hpp:80,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:25,
                 from prog.cc:3:
/opt/wandbox/gcc-head/include/c++/12.0.0/bitset:1444:5: note: candidate: 'template<long unsigned int _Nb> std::bitset<_Nb> std::operator|(const std::bitset<_Nb>&, const std::bitset<_Nb>&)'
 1444 |     operator|(const bitset<_Nb>& __x, const bitset<_Nb>& __y) _GLIBCXX_NOEXCEPT
      |     ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/12.0.0/bitset:1444:5: note:   template argument deduction/substitution failed:
prog.cc:10:103: note:   'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' is not derived from 'const std::bitset<_Nb>'
   10 |     auto reversed = (input | views::reverse | views::split(' ') | views::transform(views::reverse_fn{}));
      |                                                                                                       ^
In file included from /opt/wandbox/range-v3/include/range/v3/view/all.hpp:28,
                 from /opt/wandbox/range-v3/include/range/v3/view/split.hpp:31,
                 from /opt/wandbox/range-v3/include/range/v3/action/split.hpp:30,
                 from /opt/wandbox/range-v3/include/range/v3/action.hpp:32,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:17,
                 from prog.cc:3:
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:135:35: note: candidate: 'template<class ViewFn, class Pipeable> constexpr concepts::return_t<ranges::views::view_closure<ranges::composed<Pipeable, ActionFn> >, typename std::enable_if<(is_pipeable_v<Pipeable> && concepts::detail::CPP_true_fn(concepts::detail::Nil{})), void>::type> ranges::views::view_closure_base_ns::operator|(ranges::views::view_closure<Fun>, Pipeable)'
  135 |             friend constexpr auto operator|(view_closure<ViewFn> vw, Pipeable pipe)
      |                                   ^~~~~~~~
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:135:35: note:   template argument deduction/substitution failed:
prog.cc:10:103: note:   'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' is not derived from 'ranges::views::view_closure<Fun>'
   10 |     auto reversed = (input | views::reverse | views::split(' ') | views::transform(views::reverse_fn{}));
      |                                                                                                       ^
In file included from /opt/wandbox/range-v3/include/range/v3/view/all.hpp:28,
                 from /opt/wandbox/range-v3/include/range/v3/view/split.hpp:31,
                 from /opt/wandbox/range-v3/include/range/v3/action/split.hpp:30,
                 from /opt/wandbox/range-v3/include/range/v3/action.hpp:32,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:17,
                 from prog.cc:3:
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:120:13: note: candidate: 'template<class Rng, class ViewFn> constexpr concepts::return_t<Rng, typename std::enable_if<((range<Rng> && (! viewable_range<Rng>)) && concepts::detail::CPP_true_fn(concepts::detail::Nil{})), void>::type> ranges::views::view_closure_base_ns::operator|(Rng&&, const ranges::views::view_closure<ViewFn>&)' (deleted)
  120 |             operator|(Rng &&, view_closure<ViewFn> const &) // ******* READ THIS ********
      |             ^~~~~~~~
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:120:13: note:   template argument deduction/substitution failed:
/opt/wandbox/range-v3/include/range/v3/view/view.hpp: In substitution of 'template<class Rng, class ViewFn> constexpr concepts::return_t<Rng, typename std::enable_if<((range<Rng> && (! viewable_range<Rng>)) && concepts::detail::CPP_true_fn(concepts::detail::Nil{})), void>::type> ranges::views::view_closure_base_ns::operator|(Rng&&, const ranges::views::view_closure<ViewFn>&) [with Rng = ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >; ViewFn = ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn>]':
prog.cc:10:103:   required from here
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:120:13: error: no type named 'type' in 'struct std::enable_if<false, void>'
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:110:35: note: candidate: 'template<class Rng, class ViewFn>  requires (viewable_range<Rng>) && (invocable_view_closure<ViewFn, Rng>) constexpr auto ranges::views::view_closure_base_ns::operator|(Rng&&, ranges::views::view_closure<ViewFn>)'
  110 |             friend constexpr auto operator|(Rng && rng, view_closure<ViewFn> vw)
      |                                   ^~~~~~~~
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:110:35: note:   template argument deduction/substitution failed:
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:110:35: note: constraints not satisfied
In file included from /opt/wandbox/range-v3/include/range/v3/range_fwd.hpp:22,
                 from /opt/wandbox/range-v3/include/range/v3/action/action.hpp:21,
                 from /opt/wandbox/range-v3/include/range/v3/action.hpp:17,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:17,
                 from prog.cc:3:
/opt/wandbox/range-v3/include/range/v3/functional/concepts.hpp: In substitution of 'template<class Rng, class ViewFn>  requires (viewable_range<Rng>) && (invocable_view_closure<ViewFn, Rng>) constexpr auto ranges::views::view_closure_base_ns::operator|(Rng&&, ranges::views::view_closure<ViewFn>) [with Rng = ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >; ViewFn = ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn>]':
prog.cc:10:103:   required from here
/opt/wandbox/range-v3/include/range/v3/functional/concepts.hpp:36:5:   required for the satisfaction of 'invocable__requires_<Fun, Args ...>' [with Fun = ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn>; Args = {ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, ranges::single_view<char> >}]
/opt/wandbox/range-v3/include/range/v3/functional/concepts.hpp:42:17:   required for the satisfaction of 'invocable<ViewFn, Rng>' [with ViewFn = ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn>; Rng = ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, ranges::single_view<char> >]
/opt/wandbox/range-v3/include/range/v3/view/view.hpp:75:17:   required for the satisfaction of 'invocable_view_closure<ViewFn, Rng>' [with ViewFn = ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn>; Rng = ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, ranges::single_view<char> >]
/opt/wandbox/range-v3/include/range/v3/functional/concepts.hpp:36:5:   in requirements with 'Fun&& fn' [with Args = {ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, ranges::single_view<char> >}; Fun = ranges::detail::bind_back_fn_<ranges::views::transform_base_fn, ranges::views::reverse_fn>]
/opt/wandbox/range-v3/include/range/v3/functional/concepts.hpp:39:19: note: the required expression 'ranges::invoke((Fun&&)(fn), (declval<Args>)()...)' is invalid
   39 |             invoke((Fun &&) fn, std::declval<Args>()...)
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/wandbox/range-v3/include/concepts/concepts.hpp:465:7: note: in definition of macro 'CPP_REQUIRES_AUX_'
  465 |     { __VA_ARGS__; }
      |       ^~~~~~~~~~~
/opt/wandbox/range-v3/include/concepts/concepts.hpp:67:30: note: in expansion of macro 'CPP_PP_CAT_'
   67 | #define CPP_PP_CAT(X, ...)   CPP_PP_CAT_(X, __VA_ARGS__)
      |                              ^~~~~~~~~~~
/opt/wandbox/range-v3/include/concepts/concepts.hpp:454:5: note: in expansion of macro 'CPP_PP_CAT'
  454 |     CPP_PP_CAT(CPP_REQUIRES_, REQS)
      |     ^~~~~~~~~~
/opt/wandbox/range-v3/include/range/v3/functional/concepts.hpp:36:5: note: in expansion of macro 'CPP_requires'
   36 |     CPP_requires(invocable_,
      |     ^~~~~~~~~~~~
cc1plus: note: set '-fconcepts-diagnostics-depth=' to at least 2 for more detail
In file included from /opt/wandbox/range-v3/include/range/v3/view.hpp:22,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:25,
                 from prog.cc:3:
/opt/wandbox/range-v3/include/range/v3/view/any_view.hpp:66:24: note: candidate: 'constexpr ranges::category ranges::operator|(ranges::category, ranges::category)'
   66 |     constexpr category operator|(category lhs, category rhs) noexcept
      |                        ^~~~~~~~
/opt/wandbox/range-v3/include/range/v3/view/any_view.hpp:66:43: note:   no known conversion for argument 1 from 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' to 'ranges::category'
   66 |     constexpr category operator|(category lhs, category rhs) noexcept
      |                                  ~~~~~~~~~^~~
In file included from /opt/wandbox/gcc-head/include/c++/12.0.0/ios:42,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/ostream:38,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/iostream:39,
                 from prog.cc:2:
/opt/wandbox/gcc-head/include/c++/12.0.0/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++/12.0.0/bits/ios_base.h:87:27: note:   no known conversion for argument 1 from 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' to 'std::_Ios_Fmtflags'
   87 |   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
      |             ~~~~~~~~~~~~~~^~~
/opt/wandbox/gcc-head/include/c++/12.0.0/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++/12.0.0/bits/ios_base.h:129:27: note:   no known conversion for argument 1 from 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' to 'std::_Ios_Openmode'
  129 |   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
      |             ~~~~~~~~~~~~~~^~~
/opt/wandbox/gcc-head/include/c++/12.0.0/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++/12.0.0/bits/ios_base.h:169:26: note:   no known conversion for argument 1 from 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' to 'std::_Ios_Iostate'
  169 |   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
      |             ~~~~~~~~~~~~~^~~
In file included from /opt/wandbox/range-v3/include/meta/meta.hpp:18,
                 from /opt/wandbox/range-v3/include/range/v3/action/action.hpp:19,
                 from /opt/wandbox/range-v3/include/range/v3/action.hpp:17,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:17,
                 from prog.cc:3:
/opt/wandbox/gcc-head/include/c++/12.0.0/cstddef:134:3: note: candidate: 'constexpr std::byte std::operator|(std::byte, std::byte)'
  134 |   operator|(byte __l, byte __r) noexcept
      |   ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/12.0.0/cstddef:134:18: note:   no known conversion for argument 1 from 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' to 'std::byte'
  134 |   operator|(byte __l, byte __r) noexcept
      |             ~~~~~^~~
In file included from /opt/wandbox/gcc-head/include/c++/12.0.0/bits/shared_ptr_atomic.h:33,
                 from /opt/wandbox/gcc-head/include/c++/12.0.0/memory:78,
                 from /opt/wandbox/range-v3/include/range/v3/utility/addressof.hpp:15,
                 from /opt/wandbox/range-v3/include/range/v3/iterator/basic_iterator.hpp:29,
                 from /opt/wandbox/range-v3/include/range/v3/iterator/reverse_iterator.hpp:20,
                 from /opt/wandbox/range-v3/include/range/v3/range/access.hpp:37,
                 from /opt/wandbox/range-v3/include/range/v3/range/concepts.hpp:41,
                 from /opt/wandbox/range-v3/include/range/v3/action/concepts.hpp:23,
                 from /opt/wandbox/range-v3/include/range/v3/action/action.hpp:23,
                 from /opt/wandbox/range-v3/include/range/v3/action.hpp:17,
                 from /opt/wandbox/range-v3/include/range/v3/all.hpp:17,
                 from prog.cc:3:
/opt/wandbox/gcc-head/include/c++/12.0.0/bits/atomic_base.h:98:3: note: candidate: 'constexpr std::memory_order std::operator|(std::memory_order, std::__memory_order_modifier)'
   98 |   operator|(memory_order __m, __memory_order_modifier __mod)
      |   ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/12.0.0/bits/atomic_base.h:98:26: note:   no known conversion for argument 1 from 'ranges::split_view<ranges::reverse_view<ranges::ref_view<std::__cxx11::basic_string<char> > >, ranges::single_view<char> >' to 'std::memory_order'
   98 |   operator|(memory_order __m, __memory_order_modifier __mod)
      |             ~~~~~~~~~~~~~^~~
Exit Code:
1