Using Arch Linux with clang version 9.0.1, running ./build-succeeds.sh works, but running ./build-fails.sh fails:

In file included from main.cpp:1:
In file included from text/include/boost/text/line_break.hpp:5:
In file included from text/include/boost/text/grapheme_view.hpp:4:
In file included from text/include/boost/text/grapheme_iterator.hpp:5:
In file included from text/include/boost/text/grapheme.hpp:4:
In file included from text/include/boost/text/grapheme_break.hpp:5:
In file included from text/include/boost/text/lazy_segment_range.hpp:4:
In file included from text/include/boost/text/transcode_view.hpp:4:
In file included from text/include/boost/text/transcode_algorithm.hpp:33:
In file included from text/include/boost/text/transcode_iterator.hpp:5:
In file included from text/include/boost/text/detail/algorithm.hpp:4:
In file included from text/include/boost/text/detail/iterator.hpp:5:
In file included from text/include/boost/stl_interfaces/reverse_iterator.hpp:9:
text/include/boost/stl_interfaces/iterator_interface.hpp:365:75: error: no viable overloaded '+='
            noexcept(noexcept(D(std::declval<D &>()), std::declval<D &>() += i))
                                                      ~~~~~~~~~~~~~~~~~~~ ^  ~
range-v3/include/range/v3/iterator/concepts.hpp:324:15: note: in instantiation of exception specification for 'operator+<boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > > >' requested here
            i + n,
              ^
range-v3/include/range/v3/iterator/concepts.hpp:321:5: note: while substituting explicitly-specified template arguments into function template 'random_access_iterator_CPP_concept_fragment_impl_' 
    CPP_concept_fragment(random_access_iterator_,
    ^
range-v3/include/concepts/concepts.hpp:279:19: note: expanded from macro 'CPP_concept_fragment'
        decltype(&NAME ## CPP_concept_fragment_impl_<As...>)); \
                  ^
<scratch space>:151:1: note: expanded from here
random_access_iterator_CPP_concept_fragment_impl_
^
range-v3/include/range/v3/iterator/concepts.hpp:341:22: note: while substituting deduced template arguments into function template 'random_access_iterator_CPP_concept_fragment_' [with As = <boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >>]
        CPP_fragment(ranges::random_access_iterator_, I) &&
                     ^
range-v3/include/range/v3/range/concepts.hpp:117:9: note: in instantiation of variable template specialization 'ranges::random_access_iterator<boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > > >' requested here
        random_access_iterator<iterator_t<T>>
        ^
range-v3/include/range/v3/range/concepts.hpp:116:5: note: while substituting explicitly-specified template arguments into function template 'random_access_range_CPP_concept_fragment_impl_' 
    CPP_concept_fragment(random_access_range_, requires()(0) &&
    ^
range-v3/include/concepts/concepts.hpp:279:19: note: expanded from macro 'CPP_concept_fragment'
        decltype(&NAME ## CPP_concept_fragment_impl_<As...>)); \
                  ^
<scratch space>:66:1: note: expanded from here
random_access_range_CPP_concept_fragment_impl_
^
range-v3/include/range/v3/range/concepts.hpp:122:48: note: (skipping 14 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        bidirectional_range<T> && CPP_fragment(ranges::random_access_range_, T);
                                               ^
range-v3/include/concepts/concepts.hpp:787:31: note: in instantiation of function template specialization 'concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/view/view.hpp:83:13)>::operator bool<true>' requested here
                return (bool) U{};
                              ^
range-v3/include/concepts/concepts.hpp:791:30: note: in instantiation of member function 'concepts::detail::and_<concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/range/concepts.hpp:316:38)>, concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/view/view.hpp:83:13)> >::impl' requested here
                return and_::impl(bool_<(bool) T{}>{});
                             ^
range-v3/include/range/v3/view/view.hpp:114:26: note: in instantiation of member function 'concepts::detail::and_<concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/range/concepts.hpp:316:38)>, concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/view/view.hpp:83:13)> >::operator bool' requested here
                requires defer::viewable_range<Rng> &&          //
                         ^
range-v3/include/concepts/concepts.hpp:319:5: note: expanded from macro 'CPP_template'
    CPP_template_sfinae                                                         \
    ^
range-v3/include/concepts/concepts.hpp:328:26: note: expanded from macro 'CPP_template_sfinae'
    template<__VA_ARGS__ CPP_TEMPLATE_SFINAE_AUX_                               \
                         ^
range-v3/include/range/v3/view/view.hpp:117:17: note: while substituting prior template arguments into non-type template parameter [with Rng = boost::text::v1::lazy_segment_range<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, detail::const_lazy_segment_iterator, false> &, ViewFn = ranges::detail::bind_back_fn_<ranges::views::drop_base_fn, int>, CPP_true_ = std::integral_constant<bool, true>]
                operator|(Rng && rng, view_closure<ViewFn> vw)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:12:26: note: while substituting deduced template arguments into function template 'operator|' [with Rng = boost::text::v1::lazy_segment_range<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, detail::const_lazy_segment_iterator, false> &, ViewFn = ranges::detail::bind_back_fn_<ranges::views::drop_base_fn, int>, CPP_true_ = (no value), $3 = (no value)]
  for (auto line : lines | ranges::views::drop(1)) std::cout << line;
                         ^
text/include/boost/text/rope.hpp:1089:19: note: candidate function not viable: no known conversion from 'boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >' to 'boost::text::v1::text &' for 1st argument
    inline text & operator+=(text & t, rope_view rv)
                  ^
text/include/boost/text/rope.hpp:1108:19: note: candidate function not viable: no known conversion from 'boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >' to 'boost::text::v1::text &' for 1st argument
    inline text & operator+=(text & t, rope const & r)
                  ^
text/include/boost/stl_interfaces/iterator_interface.hpp:356:24: note: candidate template ignored: substitution failure [with D = boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >]: no matching function for call to 'base'
        constexpr auto operator+=(difference_type n) noexcept(
                       ^
text/include/boost/stl_interfaces/iterator_interface.hpp:429:66: error: no viable overloaded '+='
            difference_type i) noexcept(noexcept(Derived(it), it += -i))
                                                              ~~ ^  ~~
range-v3/include/range/v3/iterator/concepts.hpp:326:15: note: in instantiation of exception specification for 'operator-' requested here
            i - n,
              ^
range-v3/include/range/v3/iterator/concepts.hpp:321:5: note: while substituting explicitly-specified template arguments into function template 'random_access_iterator_CPP_concept_fragment_impl_' 
    CPP_concept_fragment(random_access_iterator_,
    ^
range-v3/include/concepts/concepts.hpp:279:19: note: expanded from macro 'CPP_concept_fragment'
        decltype(&NAME ## CPP_concept_fragment_impl_<As...>)); \
                  ^
<scratch space>:151:1: note: expanded from here
random_access_iterator_CPP_concept_fragment_impl_
^
range-v3/include/range/v3/iterator/concepts.hpp:341:22: note: while substituting deduced template arguments into function template 'random_access_iterator_CPP_concept_fragment_' [with As = <boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >>]
        CPP_fragment(ranges::random_access_iterator_, I) &&
                     ^
range-v3/include/range/v3/range/concepts.hpp:117:9: note: in instantiation of variable template specialization 'ranges::random_access_iterator<boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > > >' requested here
        random_access_iterator<iterator_t<T>>
        ^
range-v3/include/range/v3/range/concepts.hpp:116:5: note: while substituting explicitly-specified template arguments into function template 'random_access_range_CPP_concept_fragment_impl_' 
    CPP_concept_fragment(random_access_range_, requires()(0) &&
    ^
range-v3/include/concepts/concepts.hpp:279:19: note: expanded from macro 'CPP_concept_fragment'
        decltype(&NAME ## CPP_concept_fragment_impl_<As...>)); \
                  ^
<scratch space>:66:1: note: expanded from here
random_access_range_CPP_concept_fragment_impl_
^
range-v3/include/range/v3/range/concepts.hpp:122:48: note: (skipping 14 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        bidirectional_range<T> && CPP_fragment(ranges::random_access_range_, T);
                                               ^
range-v3/include/concepts/concepts.hpp:787:31: note: in instantiation of function template specialization 'concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/view/view.hpp:83:13)>::operator bool<true>' requested here
                return (bool) U{};
                              ^
range-v3/include/concepts/concepts.hpp:791:30: note: in instantiation of member function 'concepts::detail::and_<concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/range/concepts.hpp:316:38)>, concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/view/view.hpp:83:13)> >::impl' requested here
                return and_::impl(bool_<(bool) T{}>{});
                             ^
range-v3/include/range/v3/view/view.hpp:114:26: note: in instantiation of member function 'concepts::detail::and_<concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/range/concepts.hpp:316:38)>, concepts::detail::boolean_<ranges::defer::(lambda at range-v3/include/range/v3/view/view.hpp:83:13)> >::operator bool' requested here
                requires defer::viewable_range<Rng> &&          //
                         ^
range-v3/include/concepts/concepts.hpp:319:5: note: expanded from macro 'CPP_template'
    CPP_template_sfinae                                                         \
    ^
range-v3/include/concepts/concepts.hpp:328:26: note: expanded from macro 'CPP_template_sfinae'
    template<__VA_ARGS__ CPP_TEMPLATE_SFINAE_AUX_                               \
                         ^
range-v3/include/range/v3/view/view.hpp:117:17: note: while substituting prior template arguments into non-type template parameter [with Rng = boost::text::v1::lazy_segment_range<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, detail::const_lazy_segment_iterator, false> &, ViewFn = ranges::detail::bind_back_fn_<ranges::views::drop_base_fn, int>, CPP_true_ = std::integral_constant<bool, true>]
                operator|(Rng && rng, view_closure<ViewFn> vw)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:12:26: note: while substituting deduced template arguments into function template 'operator|' [with Rng = boost::text::v1::lazy_segment_range<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, detail::const_lazy_segment_iterator, false> &, ViewFn = ranges::detail::bind_back_fn_<ranges::views::drop_base_fn, int>, CPP_true_ = (no value), $3 = (no value)]
  for (auto line : lines | ranges::views::drop(1)) std::cout << line;
                         ^
text/include/boost/text/rope.hpp:1089:19: note: candidate function not viable: no known conversion from 'boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >' to 'boost::text::v1::text &' for 1st argument
    inline text & operator+=(text & t, rope_view rv)
                  ^
text/include/boost/text/rope.hpp:1108:19: note: candidate function not viable: no known conversion from 'boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >' to 'boost::text::v1::text &' for 1st argument
    inline text & operator+=(text & t, rope const & r)
                  ^
text/include/boost/stl_interfaces/iterator_interface.hpp:356:24: note: candidate template ignored: substitution failure [with D = boost::text::v1::detail::const_lazy_segment_iterator<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::detail::next_hard_line_break_callable<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> >, boost::text::v1::grapheme_view<boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character>, boost::text::v1::utf_8_to_32_iterator<boost::text::v1::detail::const_rope_iterator, boost::text::v1::detail::const_rope_iterator, boost::text::v1::use_replacement_character> > >]: no matching function for call to 'base'
        constexpr auto operator+=(difference_type n) noexcept(
                       ^
2 errors generated.