* installing *source* package ‘FeatureHashing’ ...
** package ‘FeatureHashing’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: ‘gcc-14 (GCC) 14.2.0’
using C++ compiler: ‘g++-14 (GCC) 14.2.0’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/FeatureHashing/src'
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c as.cpp -o as.o
gcc-14 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -Werror=implicit-function-declaration -Wstrict-prototypes  -c digest.c -o digest.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c hash_internal.cpp -o hash_internal.o
as.cpp: In function 'size_t merge(int*, double*, size_t)':
as.cpp:50:14: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     if (i[j] < current_i) continue;
      |         ~~~~~^~~~~~~~~~~
as.cpp:57:21: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   57 |       if (current_i == i[j + k]) {
      |           ~~~~~~~~~~^~~~~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/bind/mem_fn.hpp:25,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/mem_fn.hpp:22,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function.hpp:30,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/detail/find_iterator.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:24,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:27,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:16,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:23,
                 from hash_internal.cpp:21:
/data/gannet/ripley/R/test-dev/BH/include/boost/get_pointer.hpp:48:40: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   48 | template<class T> T * get_pointer(std::auto_ptr<T> const& p)
      |                                        ^~~~~~~~
In file included from /usr/local/gcc14/include/c++/14.2.0/memory:78,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/function_base.hpp:34,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/function/detail/prologue.hpp:18:
/usr/local/gcc14/include/c++/14.2.0/bits/unique_ptr.h:59:28: note: declared here
   59 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
hash_internal.cpp: In function 'Rcpp::IntegerVector h2(Rcpp::CharacterVector)':
hash_internal.cpp:76:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   76 |     for(int j = 0;j < tokens.size();j++) {
      |                   ~~^~~~~~~~~~~~~~~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept/assert.hpp:35,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size_type.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/size.hpp:21,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/functions.hpp:20,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:38,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range.hpp:13,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/range/as_literal.hpp:18,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/trim.hpp:19,
                 from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string.hpp:19:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::constraint<Model>::failed() [with Model = boost::algorithm::FinderConcept<boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >, const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:81:13:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:65:52: warning: 'this' pointer is null [-Wnonnull]
   65 |     static void failed() { ((Model*)0)->constraints(); }
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:26:
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/concept.hpp:40:18: note: in a call to non-static member function 'void boost::algorithm::FinderConcept<FinderT, IteratorT>::constraints() [with FinderT = boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >; IteratorT = const char*]'
   40 |             void constraints()
      |                  ^~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
In file included from /data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:31:
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_concepts.hpp:114:7:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:152:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::range_detail::SinglePassIteratorConcept<const char*>)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   [ skipping 12 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:278:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   required from 'struct boost::concepts::requirement_<void (*)(boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >)>'
   72 | struct requirement_<void(*)(Model)>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   [ skipping 7 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:5: note: in a call to non-static member function 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |     ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp: In instantiation of 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/range/algorithm/equal.hpp:174:13:   required from 'bool boost::range::equal(const SinglePassRange1&, const SinglePassRange2&) [with SinglePassRange1 = boost::iterator_range<const char*>; SinglePassRange2 = boost::iterator_range<const char*>]'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/iterator_range_core.hpp:644:32:   required from 'bool boost::operator==(const iterator_range<IteratorT>&, const iterator_range<Iterator2T>&) [with Iterator1T = const char*; Iterator2T = const char*]'
  644 |             return boost::equal( l, r );
      |                    ~~~~~~~~~~~~^~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/find_iterator.hpp:359:32:   required from 'bool boost::algorithm::split_iterator<IteratorT>::equal(const boost::algorithm::split_iterator<IteratorT>&) const [with IteratorT = const char*]'
  359 |                         m_Match==Other.m_Match &&
      |                         ~~~~~~~^~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:649:26:   required from 'static bool boost::iterators::iterator_core_access::equal(const Facade1&, const Facade2&, mpl_::true_) [with Facade1 = boost::algorithm::split_iterator<const char*>; Facade2 = boost::algorithm::split_iterator<const char*>; mpl_::true_ = mpl_::bool_<true>]'
  649 |           return f1.equal(f2);
      |                  ~~~~~~~~^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:981:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator==(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = boost::algorithm::split_iterator<const char*>; V1 = const boost::iterator_range<const char*>; TC1 = forward_traversal_tag; Reference1 = const boost::iterator_range<const char*>&; Difference1 = long int; Derived2 = boost::algorithm::split_iterator<const char*>; V2 = const boost::iterator_range<const char*>; TC2 = forward_traversal_tag; Reference2 = const boost::iterator_range<const char*>&; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_adaptor.hpp:305:29:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47: warning: 'this' pointer is null [-Wnonnull]
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::CopyConstructible<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::CopyConstructible<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5:   required from 'struct boost::CopyConstructible<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:125:16:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
  125 |         struct IncrementableIteratorConcept : CopyConstructible<Iterator>
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::CopyConstructible<TT>::~CopyConstructible() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:167:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  167 |     BOOST_CONCEPT_USAGE(CopyConstructible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::incrementable_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::incrementable_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::IncrementableIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::IncrementableIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13:   required from 'struct boost::range_detail::IncrementableIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::IncrementableIteratorConcept<Iterator>::~IncrementableIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:136:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  136 |             BOOST_CONCEPT_USAGE(IncrementableIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::EqualityComparable<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::EqualityComparable<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5:   required from 'struct boost::EqualityComparable<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:147:16:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
  147 |         struct SinglePassIteratorConcept
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::EqualityComparable<TT>::~EqualityComparable() [with TT = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:233:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  233 |     BOOST_CONCEPT_USAGE(EqualityComparable) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5:   required from 'struct boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::Convertible<boost::iterators::random_access_traversal_tag, boost::iterators::single_pass_traversal_tag> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::Convertible<X, Y>::~Convertible() [with X = boost::iterators::random_access_traversal_tag; Y = boost::iterators::single_pass_traversal_tag]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/concept_check.hpp:208:5: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  208 |     BOOST_CONCEPT_USAGE(Convertible) {
      |     ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::range_detail::SinglePassIteratorConcept<const char*> >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13:   required from 'struct boost::range_detail::SinglePassIteratorConcept<const char*>'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::range_detail::SinglePassIteratorConcept<const char*>]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::range_detail::SinglePassIteratorConcept<const char*> >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::range_detail::SinglePassIteratorConcept<Iterator>::~SinglePassIteratorConcept() [with Iterator = const char*]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:158:13: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  158 |             BOOST_CONCEPT_USAGE(SinglePassIteratorConcept)
      |             ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp: In instantiation of 'boost::concepts::usage_requirements<Model>::~usage_requirements() [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]':
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:50:47:   required from 'static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost::concepts::usage_requirements<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >]'
   50 |     static void failed() { ((Model*)0)->~Model(); }
      |                            ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9:   required from 'struct boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >'
   92 |     &::boost::concepts::requirement_<ModelFnPtr>::failed>    \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:32:62:   required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, wrap_constraints<Model, (& Model::constraints)>*) [with Model = boost::SinglePassRangeConcept<const boost::iterator_range<const char*> >]'
   32 |   inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
      |                                                              ^~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:42:5:   required from 'const bool boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >::value'
   44 |       , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/has_constraints.hpp:45:51:   required from 'struct boost::concepts::not_satisfied<boost::SinglePassRangeConcept<const boost::iterator_range<const char*> > >'
   45 |     typedef boost::integral_constant<bool, value> type;
      |                                                   ^~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/detail/general.hpp:72:8:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/data/gannet/ripley/R/test-dev/BH/include/boost/iterator/iterator_facade.hpp:982:3:   required from 'typename boost::iterators::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::iterators::detail::always_bool2, Derived1, Derived2>::type>::type boost::iterators::operator!=(const iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V1 = std::__cxx11::basic_string<char>; TC1 = forward_traversal_tag; Reference1 = std::__cxx11::basic_string<char>; Difference1 = long int; Derived2 = transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; V2 = std::__cxx11::basic_string<char>; TC2 = forward_traversal_tag; Reference2 = std::__cxx11::basic_string<char>; Difference2 = long int; typename detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type>::type = bool; typename boost::mpl::apply2<detail::always_bool2, Derived1, Derived2>::type = bool]'
  966 |       return_prefix iterator_core_access::base_op(                              \
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  967 |           *static_cast<Derived1 const*>(&lhs)                                   \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  968 |         , *static_cast<Derived2 const*>(&rhs)                                   \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969 |         , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1)                         \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  970 |       );                                                                        \
      |       ~                                           
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:1673:21:   required from 'void std::vector<_Tp, _Alloc>::_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >]'
 1673 |             for (; __first != __last; ++__first)
      |                    ~~~~~~~~^~~~~~~~~
/usr/local/gcc14/include/c++/14.2.0/bits/stl_vector.h:711:23:   required from 'std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) [with _InputIterator = boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char>, const char*>, boost::algorithm::split_iterator<const char*>, boost::use_default, boost::use_default>; <template-parameter-2-2> = void; _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_string<char> >; allocator_type = std::allocator<std::__cxx11::basic_string<char> >]'
  711 |           _M_range_initialize(__first, __last,
      |           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  712 |                               std::__iterator_category(__first));
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/iter_find.hpp:186:31:   required from 'SequenceSequenceT& boost::algorithm::iter_split(SequenceSequenceT&, RangeT&&, FinderT) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; FinderT = detail::token_finderF<detail::is_any_ofF<char> >]'
  186 |             SequenceSequenceT Tmp(itBegin, itEnd);
      |                               ^~~
/data/gannet/ripley/R/test-dev/BH/include/boost/algorithm/string/split.hpp:158:50:   required from 'SequenceSequenceT& boost::algorithm::split(SequenceSequenceT&, RangeT&&, PredicateT, token_compress_mode_type) [with SequenceSequenceT = std::vector<std::__cxx11::basic_string<char> >; RangeT = const char*&; PredicateT = detail::is_any_ofF<char>]'
  158 |             return ::boost::algorithm::iter_split(
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  159 |                 Result,
      |                 ~~~~~~~                           
  160 |                 Input,
      |                 ~~~~~~                            
  161 |                 ::boost::algorithm::token_finder( Pred, eCompress ) );
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash_internal.cpp:74:17:   required from here
   74 |     boost::split(tokens, str, boost::is_any_of(":"));
      |     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:20:48: warning: 'this' pointer is null [-Wnonnull]
   20 |     ~usage_requirements() { ((Model*)0)->~Model(); }
      |                             ~~~~~~~~~~~~~~~~~~~^~
/data/gannet/ripley/R/test-dev/BH/include/boost/concept/usage.hpp:37:7: note: in a call to non-static member function 'boost::SinglePassRangeConcept<T>::~SinglePassRangeConcept() [with T = const boost::iterator_range<const char*>]'
   37 |       ~model()
      |       ^
/data/gannet/ripley/R/test-dev/BH/include/boost/range/concepts.hpp:284:9: note: in expansion of macro 'BOOST_CONCEPT_USAGE'
  284 |         BOOST_CONCEPT_USAGE(SinglePassRangeConcept)
      |         ^~~~~~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c hashed_model_matrix.cpp -o hashed_model_matrix.o
In file included from hashed_model_matrix.h:26,
                 from hashed_model_matrix.cpp:19:
vector_converter.h: In member function 'virtual const std::vector<unsigned int>& InteractionConverter::get_feature(size_t)':
vector_converter.h:495:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  495 |       for(auto j = 0;j < afeature_buffer.size();j++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~~~
vector_converter.h:496:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  496 |         for(auto k = 0;k < bfeature_buffer.size();k++) {
      |                        ~~^~~~~~~~~~~~~~~~~~~~~~~~
vector_converter.h:503:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  503 |       for(auto j = 0;j < afeature_buffer.size();j++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~~~
vector_converter.h:504:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  504 |         for(auto k = 0;k < bfeature_buffer.size();k++) {
      |                        ~~^~~~~~~~~~~~~~~~~~~~~~~~
vector_converter.h: In member function 'virtual const std::vector<double>& InteractionConverter::get_value(size_t)':
vector_converter.h:517:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  517 |     for(auto j = 0;j < avalue_buffer.size();j++) {
      |                    ~~^~~~~~~~~~~~~~~~~~~~~~
vector_converter.h:518:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  518 |       for(auto k = 0;k < bvalue_buffer.size();k++) {
      |                      ~~^~~~~~~~~~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c intToRaw.cpp -o intToRaw.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c product.cpp -o product.o
product.cpp:48: warning: ignoring '#pragma omp parallel' [-Wunknown-pragmas]
   48 |   #pragma omp parallel for
product.cpp: In function 'Rcpp::NumericVector Xv(Rcpp::S4, Rcpp::NumericVector, Rcpp::NumericVector)':
product.cpp:33:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'Rcpp::traits::storage_type<13>::type' {aka 'int'} [-Wsign-compare]
   33 |   for(size_t col = 0;col < Dim[1];col++) {
product.cpp: In function 'Rcpp::NumericVector vX(Rcpp::NumericVector, Rcpp::S4, Rcpp::NumericVector)':
product.cpp:49:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'Rcpp::traits::storage_type<13>::type' {aka 'int'} [-Wsign-compare]
   49 |   for(size_t col = 0;col < Dim[1];col++) {
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c split.cpp -o split.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/digest/include' -I'/data/gannet/ripley/R/test-dev/BH/include' -I/usr/local/include    -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c subsetting.cpp -o subsetting.o
subsetting.cpp:27: warning: ignoring '#pragma omp parallel' [-Wunknown-pragmas]
   27 |   #pragma omp parallel for
subsetting.cpp:102: warning: ignoring '#pragma omp parallel' [-Wunknown-pragmas]
  102 |       #pragma omp parallel for
g++-14 -std=gnu++17 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o FeatureHashing.so RcppExports.o as.o digest.o hash_internal.o hashed_model_matrix.o intToRaw.o product.o split.o subsetting.o
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/FeatureHashing/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/FeatureHashing/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/FeatureHashing/src'
installing to /data/gannet/ripley/R/packages/tests-devel/FeatureHashing.Rcheck/00LOCK-FeatureHashing/00new/FeatureHashing/libs
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (FeatureHashing)