I am running into the following built issue in our code base just with asan enabled on gcc:
common.h:81:25: error: no match for call to '(const experimental::execution::start_detached_t) (std::remove_reference<stdexec::{anonymous}::__sexpr<<lambda closure object>stdexec::<lambda()>()>&>::type)'
81 | exec::start_detached(std::move(finalSender));
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ong_test/build/debug/src/database/common.h:11:
• there are 2 candidates
install/debug/vendor/include/exec/start_detached.hpp:203:10:
203 | struct start_detached_t
| ^~~~~~~~~~~~~~~~
• candidate 1: 'template<class _Sender> requires (sender_in<_Sender, stdexec::__env::__root_env>) && (__callable<stdexec::apply_sender_t, typename stdexec::__i<_Ok<typename stdexec::__i<_Ok<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, stdexec::env<stdexec::__env::__root_env, stdexec::__env::__fwd<stdexec::__env::__root_env> > > >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > > >::__f<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, stdexec::env<stdexec::__env::__root_env, stdexec::__env::__fwd<stdexec::__env::__root_env> > > >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > >, stdexec::set_value_t, _Sender, stdexec::env<stdexec::__env::__root_env, stdexec::__env::__fwd<stdexec::__env::__root_env> > > >::__f<typename stdexec::__i<_Ok<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, stdexec::env<stdexec::__env::__root_env, stdexec::__env::__fwd<stdexec::__env::__root_env> > > >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > > >::__f<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, stdexec::env<stdexec::__env::__root_env, stdexec::__env::__fwd<stdexec::__env::__root_env> > > >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > >, stdexec::set_value_t, _Sender, stdexec::env<stdexec::__env::__root_env, stdexec::__env::__fwd<stdexec::__env::__root_env> > >, experimental::execution::start_detached_t, _Sender>) void experimental::execution::start_detached_t::operator()(_Sender&&) const'
install/debug/vendor/include/exec/start_detached.hpp:226:10:
226 | void operator()(_Sender&& __sndr) const
| ^~~~~~~~
• substitution of deduced template arguments resulted in errors seen above
• candidate 2: 'template<class _Env, class _Sender> requires (sender_in<_Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>) && (__callable<stdexec::apply_sender_t, typename stdexec::__i<_Ok<typename stdexec::__i<_Ok<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>)()))> >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > > >::__f<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>)()))> >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > >, stdexec::set_value_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>)()))> >::__f<typename stdexec::__i<_Ok<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>)()))> >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > > >::__f<stdexec::__detail::__if_<__minvocable_q<stdexec::__completion_domain_of_t, stdexec::set_value_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>)()))> >, stdexec::__q<stdexec::__completion_domain_of_t>, stdexec::__mconst<stdexec::indeterminate_domain<> > >, stdexec::set_value_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>)()))>, experimental::execution::start_detached_t, _Sender, decltype(((const stdexec::__env::__as_root_env_fn&)&stdexec::__as_root_env)((__declval<_Env>)()))>) void experimental::execution::start_detached_t::operator()(_Sender&&, _Env&&) const'
install/debug/vendor/include/exec/start_detached.hpp:251:10:
251 | void operator()(_Sender&& __sndr, _Env&& __env) const
Without enabling asan things work fine. I don't have a minimal example right now but if this can't be reproduced I can probably create one.
I am running into the following built issue in our code base just with asan enabled on gcc:
Without enabling asan things work fine. I don't have a minimal example right now but if this can't be reproduced I can probably create one.