-
-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
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
Labels
No labels