It looks like in certain scenarios boost container is instantiating an incomplete type.
Looking a bit at the code, I belive the issue is still there in the current master.
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 82: error: an incomplete class type is not allowed
= __conditional_t<__is_final(_Tp), false_type,
^
detected during:
instantiation of type "std::__empty_not_final<boost::tuples::null_type>" at line 86
processing of template argument list for "std::_Head_base" based on template arguments <9UL, boost::tuples::null_type> at line 547
instantiation of class "std::_Tuple_impl<_Idx, _Head> [with _Idx=9UL, _Head=boost::tuples::null_type]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=8UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=7UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 10 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=9UL, _Head=boost::tuples::null_type]" at line 547
instantiation of class "std::_Tuple_impl<_Idx, _Head> [with _Idx=9UL, _Head=boost::tuples::null_type]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=8UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=7UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=6UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 9 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=8UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=8UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=7UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=6UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=5UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 8 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=7UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=7UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=6UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=5UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=4UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 7 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=6UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=6UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=5UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=4UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=3UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 6 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=5UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=5UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=4UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=3UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=2UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 5 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=4UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=4UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=3UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=2UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=1UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
[ 4 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=3UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=3UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=2UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=1UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=0UL, _Head=int &&, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 833
[ 3 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=2UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=2UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=1UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=0UL, _Head=int &&, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 833
instantiation of class "std::tuple<_Elements...> [with _Elements=<int &&, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 813 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/scoped_allocator.hpp"
[ 2 instantiation contexts not shown ]
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
"/cefs/22/22e6cdc013c8541ce3d1548e_consolidated/compilers_c++_x86_gcc_15.2.0/include/c++/15.2.0/tuple", line 251: error: incomplete type "boost::tuples::null_type" is not allowed
_Head _M_head_impl;
^
detected during:
instantiation of class "std::_Head_base<_Idx, _Head, false> [with _Idx=1UL, _Head=boost::tuples::null_type]" at line 283
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=1UL, _Head=boost::tuples::null_type, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 282
instantiation of class "std::_Tuple_impl<_Idx, _Head, _Tail...> [with _Idx=0UL, _Head=int &&, _Tail=<boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 833
instantiation of class "std::tuple<_Elements...> [with _Elements=<int &&, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>]" at line 813 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/scoped_allocator.hpp"
instantiation of "void boost::container::scoped_allocator_adaptor<OuterAlloc, InnerAllocs...>::construct(T *, Args &&...) [with OuterAlloc=std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>, InnerAllocs=<>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 420 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/allocator_traits.hpp"
instantiation of "void boost::container::allocator_traits<Allocator>::priv_construct(boost::move_detail::true_type, Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 369 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/allocator_traits.hpp"
instantiation of "void boost::container::allocator_traits<Allocator>::construct(Allocator &, T *, Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, T=boost::container::dtl::pair<int, float>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 95 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::base_node<T, HookDefiner, PairBased>::base_node(Alloc &, Args &&...) [with T=std::pair<const int, float>, HookDefiner=boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, PairBased=true, Alloc=boost::container::scoped_allocator_adaptor<std::allocator<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>>>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 377 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/node_alloc_holder.hpp"
instantiation of "boost::container::dtl::node_alloc_holder<Allocator, ICont>::NodePtr boost::container::dtl::node_alloc_holder<Allocator, ICont>::create_node(Args &&...) [with Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, ICont=boost::intrusive::rbtree_impl<boost::intrusive::bhtraits<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::intrusive::rbtree_node_traits<void *, true>, boost::intrusive::normal_link, boost::intrusive::hook_defaults::tag, 3U>, boost::container::dtl::key_of_node<boost::container::base_node<std::pair<const int, float>, boost::container::dtl::intrusive_tree_hook<void *, boost::container::red_black_tree, true>, true>, boost::container::dtl::select1st<const int>>, std::less<int>, boost::intrusive::bstree_defaults::size_type, true, boost::intrusive::bstree_defaults::header_holder_type>, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 966 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/detail/tree.hpp"
instantiation of "std::pair<boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::iterator, bool> boost::container::dtl::tree<T, KeyOfValue, Compare, Allocator, Options>::emplace_unique(Args &&...) [with T=std::pair<const int, float>, KeyOfValue=int, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 858 of "/opt/compiler-explorer/libs/boost_1_84_0/boost/container/map.hpp"
instantiation of "std::pair<boost::container::map<Key, T, Compare, Allocator, Options>::iterator, bool> boost::container::map<Key, T, Compare, Allocator, Options>::emplace(Args &&...) [with Key=int, T=float, Compare=std::less<int>, Allocator=boost::container::scoped_allocator_adaptor<std::allocator<std::pair<const int, float>>>, Options=void, Args=<const std::piecewise_construct_t &, std::tuple<int &&>, std::tuple<double &&>>]" at line 19 of "<source>"
10 errors detected in the compilation of "<source>".
Compiler returned: 2
It looks like in certain scenarios boost container is instantiating an incomplete type.
I could reproduce it in godbolt with EDG with boost.container 1.84
https://godbolt.org/z/87exK55q6
Looking a bit at the code, I belive the issue is still there in the current master.
We have a workaround that it is to include tuple in user code
This is the error: