Skip to content

counter-ncurses-tree example fails to build with immer 0.9.0 #228

@pinotree

Description

@pinotree

Trying to build the examples of lager 0.1.1 (i.e. the tagged version) using the newly released immer 0.9.0 (whereas it used to work with immer 0.8.1):

[ 31%] Building CXX object examples/CMakeFiles/counter-ncurses-tree.dir/counter/ncurses/main.cpp.o
cd /tmp/sadt.kv_621qi/build/examples && /usr/bin/c++ -DTREE_DEBUGGER   -MD -MT examples/CMakeFiles/counter-ncurses-tree.dir/counter/ncurses/main.cpp.o -MF CMakeFiles/counter-ncurses-tree.dir/counter/ncurses/main.cpp.o.d -o CMakeFiles/counter-ncurses-tree.dir/counter/ncurses/main.cpp.o -c /tmp/sadt.kv_621qi/examples/counter/ncurses/main.cpp
In file included from /usr/include/lager/extra/cereal/immer_vector.hpp:16,
                 from /usr/include/lager/debug/debugger.hpp:23,
                 from /tmp/sadt.kv_621qi/examples/counter/ncurses/main.cpp:18:
/usr/include/immer/box.hpp: In instantiation of ‘immer::box<T, MemoryPolicy>::holder::holder(Args&& ...) [with Args = {immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5, 5>}; T = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>]’:
/usr/include/immer/detail/util.hpp:177:16:   required from ‘T* immer::detail::make(Args&& ...) [with Heap = immer::debug_size_heap<immer::cpp_heap>; T = immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >::holder; Args = {immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5, 5>}]’
  177 |         return new (ptr) T{std::forward<Args>(args)...};
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/box.hpp:82:43:   required from ‘immer::box<T, MemoryPolicy>::box(Arg&&) [with Arg = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; Enable = void; T = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>]’
   82 |         : impl_{detail::make<heap, holder>(std::forward<Arg>(arg))}
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/detail/rbts/rbtree.hpp:277:13:   required from ‘void immer::detail::rbts::rbtree<T, MemoryPolicy, B, BL>::push_back_mut(edit_t, T) [with T = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5; unsigned int BL = 3; edit_t = immer::no_transience_policy::apply<immer::free_list_heap_policy<immer::cpp_heap> >::type::edit]’
  277 |             new (&tail->leaf()[ts]) T{std::move(value)};
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/vector_transient.hpp:144:28:   required from ‘void immer::vector_transient<T, MemoryPolicy, B, BL>::push_back(value_type) [with T = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5; unsigned int BL = 3; value_type = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>]’
  144 |         impl_.push_back_mut(*this, std::move(value));
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/lager/debug/tree_debugger.hpp:217:33:   required from ‘lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model::do_summary(const immer::vector<immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 3>&) const::<lambda(auto:165&&)> [with auto:165 = const immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>&]’
  217 |                 result.push_back(std::move(current).persistent());
      |                 ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/algorithm.hpp:167:15:   [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/15/bits/std_function.h:350:9:   required from ‘struct std::function<boost::beast::http::message<false, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >(boost::beast::http::message<true, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >&&)>::_Callable<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>, lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>, std::__invoke_result<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>&, boost::beast::http::message<true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, boost::beast::http::basic_fields<std::allocator<char> > >&&> >’
  350 |         struct _Callable
      |                ^~~~~~~~~
/usr/include/c++/15/bits/std_function.h:355:41:   required by substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Cond, class _Tp> using std::function<_Res(_ArgTypes ...)>::_Requires = std::__enable_if_t<((bool)_Cond::value), _Tp> [with _Cond = std::function<boost::beast::http::message<false, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >(boost::beast::http::message<true, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >&&)>::_Callable<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>, lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>, std::__invoke_result<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>&, boost::beast::http::message<true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, boost::beast::http::basic_fields<std::allocator<char> > >&&> >; _Tp = void; _Res = boost::beast::http::message<false, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >; _ArgTypes = {boost::beast::http::message<true, boost::beast::http::basic_string_body<char, std::char_traits<char>, std::allocator<char> >, boost::beast::http::basic_fields<std::allocator<char> > >&&}]’
  355 |         using _Requires = __enable_if_t<_Cond::value, _Tp>;
      |                                                ^~~~~
/usr/include/c++/15/bits/std_function.h:436:9:   required by substitution of ‘template<class _Functor, class _Constraints> std::function<boost::beast::http::message<false, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >(boost::beast::http::message<true, boost::beast::http::basic_string_body<char>, boost::beast::http::basic_fields<std::allocator<char> > >&&)>::function(_Functor&&) [with _Functor = lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > >::init(context_t, reader_t)::<lambda(auto:153&&)>; _Constraints = void]’
  436 |                typename _Constraints = _Requires<_Callable<_Functor>>>
      |                ^~~~~~~~
/usr/include/lager/debug/http_server.hpp:265:19:   required from ‘void lager::detail::http_debug_server_impl<Debugger>::init(context_t, reader_t) [with Debugger = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >; context_t = lager::context<std::variant<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::goto_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::undo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::redo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::pause_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::resume_action>, lager::deps<> >; reader_t = lager::reader<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model>]’
  264 |         router
      |         ~~~~~~     
  265 |             .route(beast::http::verb::get,
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
  266 |                    "/api/?",
      |                    ~~~~~~~~~
  267 |                    [this](auto&& req) {
      |                    ~~~~~~~~~~~~~~~~~~~~
  268 |                        auto m = model_.load();
      |                        ~~~~~~~~~~~~~~~~~~~~~~~
  269 |                        auto s = std::ostringstream{};
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  270 |                        {
      |                        ~
  271 |                            auto a = cereal::JSONOutputArchive{s};
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  272 |                            a(cereal::make_nvp("program", program_),
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  273 |                              cereal::make_nvp("summary", m->summary()),
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  274 |                              cereal::make_nvp("cursor", m->cursor),
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  275 |                              cereal::make_nvp("paused", m->paused));
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  276 |                        }
      |                        ~
  277 |                        return create_response_(
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~
  278 |                            200, "application/json", s.str());
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  279 |                    })
      |                    ~~
/usr/include/lager/debug/debugger.hpp:215:25:   required from ‘lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)> [with auto:99 = lager::type_<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action> >; auto:100 = counter::model; auto:101 = const lager::default_reducer_t&; auto:102 = lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >; auto:103 = lager::deps<>; auto:104 = boost::hana::set<boost::hana::type_impl<void>::_>]’
  215 |             handle->init(store, store.xform(zug::map([](auto&& x) {
      |             ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  216 |                 return static_cast<typename debugger_t::model>(x);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  217 |             })));
      |             ~~~~         
/usr/include/lager/store.hpp:376:25:   required from ‘auto lager::make_store(Model&&, EventLoop&&, Enhancers&& ...) [with Action = std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>; Tag = void; Model = counter::model; EventLoop = with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >; Enhancers = {zug::composed<with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>, identity_t>}]’
  376 |     return store_creator(type_<Action>{},
      |            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  377 |                          std::forward<Model>(init),
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~
  378 |                          default_reducer,
      |                          ~~~~~~~~~~~~~~~~
  379 |                          std::forward<EventLoop>(loop),
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  380 |                          deps<>{},
      |                          ~~~~~~~~~
  381 |                          boost::hana::make_set(boost::hana::type_c<Tag>));
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/sadt.kv_621qi/examples/counter/ncurses/main.cpp:74:52:   required from here
   74 |     auto store = lager::make_store<counter::action>(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   75 |         counter::model{},
      |         ~~~~~~~~~~~~~~~~~                           
   76 |         lager::with_boost_asio_event_loop{serv.get_executor()},
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   77 |         zug::comp(
      |         ~~~~~~~~~~                                  
   78 | #ifdef DEBUGGER
      | ~~~~~~~~~~~~~~~                                     
   79 |             lager::with_debugger(debugger),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         
   80 | #endif
      | ~~~~~~                                              
   81 | #ifdef TREE_DEBUGGER
      | ~~~~~~~~~~~~~~~~~~~~                                
   82 |             lager::with_debugger<lager::tree_debugger>(debugger),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   83 | #endif
      | ~~~~~~                                              
   84 | #ifdef META_DEBUGGER
      | ~~~~~~~~~~~~~~~~~~~~                                
   85 |             lager::with_debugger(meta_debugger),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
   86 | #endif
      | ~~~~~~                                              
   87 |             lager::identity));
      |             ~~~~~~~~~~~~~~~~~                       
/usr/include/immer/box.hpp:47:15: error: cannot convert ‘immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::summary_step_t, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>’ to ‘std::size_t’ {aka ‘long unsigned int’} in initialization
   47 |             : value{std::forward<Args>(args)...}
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/box.hpp: In instantiation of ‘immer::box<T, MemoryPolicy>::holder::holder(Args&& ...) [with Args = {immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5, 5>}; T = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>]’:
/usr/include/immer/detail/util.hpp:177:16:   required from ‘T* immer::detail::make(Args&& ...) [with Heap = immer::debug_size_heap<immer::cpp_heap>; T = immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >::holder; Args = {immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5, 5>}]’
  177 |         return new (ptr) T{std::forward<Args>(args)...};
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/box.hpp:82:43:   required from ‘immer::box<T, MemoryPolicy>::box(Arg&&) [with Arg = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; Enable = void; T = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>]’
   82 |         : impl_{detail::make<heap, holder>(std::forward<Arg>(arg))}
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/detail/rbts/node.hpp:787:13:   required from ‘static immer::detail::rbts::node<T, MemoryPolicy, B, BL>::node_t* immer::detail::rbts::node<T, MemoryPolicy, B, BL>::copy_leaf_emplace(node_t*, immer::detail::rbts::count_t, U&&) [with U = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; T = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5; unsigned int BL = 3; node_t = immer::detail::rbts::node<immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 3>; immer::detail::rbts::count_t = unsigned int]’
  787 |             new (dst->leaf() + n) T{std::forward<U>(x)};
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/detail/rbts/rbtree.hpp:323:42:   required from ‘immer::detail::rbts::rbtree<T, MemoryPolicy, B, BL> immer::detail::rbts::rbtree<T, MemoryPolicy, B, BL>::push_back(T) const [with T = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5; unsigned int BL = 3]’
  323 |                 node_t::copy_leaf_emplace(tail, ts, std::move(value));
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/immer/vector.hpp:248:31:   required from ‘immer::vector<T, MemoryPolicy, B, BL> immer::vector<T, MemoryPolicy, B, BL>::push_back(value_type) const & [with T = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5; unsigned int BL = 3; value_type = immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>]’
  248 |         return impl_.push_back(std::move(value));
      |                ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/lager/debug/tree_debugger.hpp:185:46:   [ skipping 29 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/15/bits/shared_ptr.h:463:59:   required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model, lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>, lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >, lager::deps<lager::dep::val<std::shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >}; _Tp = lager::store<std::variant<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::goto_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::undo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::redo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::pause_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::resume_action>, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model, lager::deps<lager::dep::val<std::shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > > >::store_node<lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>, lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >, lager::deps<lager::dep::val<std::shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >, boost::hana::set<boost::hana::type_impl<void>::_> >]’
  463 |         : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
      |                                                                  ^
/usr/include/c++/15/bits/shared_ptr.h:1007:14:   required from ‘std::shared_ptr<typename std::enable_if<(! std::is_array<_Tp>::value), _Tp>::type> std::make_shared(_Args&& ...) [with _Tp = lager::store<variant<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::goto_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::undo_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::redo_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::pause_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::resume_action>, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model, lager::deps<lager::dep::val<shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > > >::store_node<lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>, lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<allocator<void>, 0> >, lager::deps<lager::dep::val<shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >, boost::hana::set<boost::hana::type_impl<void>::_> >; _Args = {lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model, lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>, lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<allocator<void>, 0> >, lager::deps<lager::dep::val<shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >}; typename enable_if<(! is_array<_Tp>::value), _Tp>::type = lager::store<variant<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::goto_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::undo_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::redo_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::pause_action, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::resume_action>, lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model, lager::deps<lager::dep::val<shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > > >::store_node<lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>, lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<allocator<void>, 0> >, lager::deps<lager::dep::val<shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >, boost::hana::set<boost::hana::type_impl<void>::_> >]’
 1007 |       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1008 |                              std::forward<_Args>(__args)...);
      |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/lager/store.hpp:83:79:   required from ‘lager::store<Action, Model, Dependencies>::store(model_t, ReducerFn, EventLoop, Deps, Tags) [with ReducerFn = lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>; EventLoop = lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >; Deps = lager::deps<lager::dep::val<std::shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >; Tags = boost::hana::set<boost::hana::type_impl<void>::_>; Action = std::variant<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::goto_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::undo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::redo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::pause_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::resume_action>; Model = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model; Dependencies = lager::deps<lager::dep::val<std::shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >; model_t = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model]’
   83 |         : store{std::make_shared<store_node<ReducerFn, EventLoop, Deps, Tags>>(
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   84 |               std::move(init),
      |               ~~~~~~~~~~~~~~~~                                                 
   85 |               std::move(reducer),
      |               ~~~~~~~~~~~~~~~~~~~                                              
   86 |               std::move(loop),
      |               ~~~~~~~~~~~~~~~~                                                 
   87 |               std::move(dependencies))}
      |               ~~~~~~~~~~~~~~~~~~~~~~~~                                         
/usr/include/lager/store.hpp:374:53:   required from ‘lager::make_store<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action> >(counter::model&&, with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >&&, zug::composed<with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>, identity_t>&&)::<lambda(auto:194, auto:195&&, auto:196&&, auto:197&&, auto:198&&, auto:199&&)> [with auto:194 = lager::type_<std::variant<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::goto_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::undo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::redo_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::pause_action, lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::resume_action> >; auto:195 = lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::model; auto:196 = lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)>::<lambda(auto:105&&, auto:106&&)>; auto:197 = lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >; auto:198 = lager::deps<lager::dep::val<std::shared_ptr<lager::detail::http_debug_server_impl<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> > > > > >; auto:199 = boost::hana::set<boost::hana::type_impl<void>::_>]’
  374 |                                                 tags};
      |                                                     ^
/usr/include/lager/debug/debugger.hpp:205:36:   required from ‘lager::with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>::<lambda(auto:99, auto:100&&, auto:101&&, auto:102&&, auto:103&&, auto:104&&)> [with auto:99 = lager::type_<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action> >; auto:100 = counter::model; auto:101 = const lager::default_reducer_t&; auto:102 = lager::with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >; auto:103 = lager::deps<>; auto:104 = boost::hana::set<boost::hana::type_impl<void>::_>]’
  205 |             auto store       = next(
      |                                ~~~~^
  206 |                 type_<typename debugger_t::action>{},
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  207 |                 typename debugger_t::model{LAGER_FWD(model)},
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  208 |                 [reducer = LAGER_FWD(reducer)](auto&& model, auto&& action) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  209 |                     return debugger_t::update(
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~
  210 |                         reducer, LAGER_FWD(model), LAGER_FWD(action));
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  211 |                 },
      |                 ~~                  
  212 |                 LAGER_FWD(loop),
      |                 ~~~~~~~~~~~~~~~~    
  213 |                 LAGER_FWD(deps).merge(lager::make_deps(handle)),
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  214 |                 LAGER_FWD(tags));
      |                 ~~~~~~~~~~~~~~~~    
/usr/include/lager/store.hpp:376:25:   required from ‘auto lager::make_store(Model&&, EventLoop&&, Enhancers&& ...) [with Action = std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>; Tag = void; Model = counter::model; EventLoop = with_boost_asio_event_loop<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0> >; Enhancers = {zug::composed<with_debugger<tree_debugger, http_debug_server>(http_debug_server&)::<lambda(auto:98)>, identity_t>}]’
  376 |     return store_creator(type_<Action>{},
      |            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  377 |                          std::forward<Model>(init),
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~
  378 |                          default_reducer,
      |                          ~~~~~~~~~~~~~~~~
  379 |                          std::forward<EventLoop>(loop),
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  380 |                          deps<>{},
      |                          ~~~~~~~~~
  381 |                          boost::hana::make_set(boost::hana::type_c<Tag>));
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/sadt.kv_621qi/examples/counter/ncurses/main.cpp:74:52:   required from here
   74 |     auto store = lager::make_store<counter::action>(
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   75 |         counter::model{},
      |         ~~~~~~~~~~~~~~~~~                           
   76 |         lager::with_boost_asio_event_loop{serv.get_executor()},
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   77 |         zug::comp(
      |         ~~~~~~~~~~                                  
   78 | #ifdef DEBUGGER
      | ~~~~~~~~~~~~~~~                                     
   79 |             lager::with_debugger(debugger),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         
   80 | #endif
      | ~~~~~~                                              
   81 | #ifdef TREE_DEBUGGER
      | ~~~~~~~~~~~~~~~~~~~~                                
   82 |             lager::with_debugger<lager::tree_debugger>(debugger),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   83 | #endif
      | ~~~~~~                                              
   84 | #ifdef META_DEBUGGER
      | ~~~~~~~~~~~~~~~~~~~~                                
   85 |             lager::with_debugger(meta_debugger),
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
   86 | #endif
      | ~~~~~~                                              
   87 |             lager::identity));
      |             ~~~~~~~~~~~~~~~~~                       
/usr/include/immer/box.hpp:47:15: error: could not convert ‘std::forward<immer::vector<immer::box<lager::tree_debugger<variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5> >((* & args#0))’ from ‘immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>’ to ‘std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>’
   47 |             : value{std::forward<Args>(args)...}
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |               |
      |               immer::vector<immer::box<lager::tree_debugger<std::variant<counter::increment_action, counter::decrement_action, counter::reset_action>, counter::model, lager::deps<> >::step, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>

The environment:

  • current Debian unstable
  • GCC 5.2.0
  • boost 1.83.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions