test(exec): fork_join with empty value channel #1788
+15
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was working 2 days ago.
I'll try to find the culprit commit later today.
It seems it stopped working with:
The compile error looks like:
[ 0%] Building CXX object test/exec/CMakeFiles/test.exec.dir/test_fork.cpp.o In file included from /workspaces/stdexec/test/exec/test_fork.cpp:17: In file included from /workspaces/stdexec/include/exec/fork_join.hpp:18: /workspaces/stdexec/include/exec/../stdexec/__detail/__receiver_ref.hpp:55:9: error: static assertion failed: get_env() must return the same type as env_of_t<_Rcvr> 55 | __same_as<_Env, env_of_t<_Rcvr>>, "get_env() must return the same type as env_of_t<_Rcvr>"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /workspaces/stdexec/include/exec/../stdexec/__detail/__env.hpp:318:31: note: in instantiation of member function 'std::execution::__rcvr_ref<exec::fork_join_t::_opstate_t<std::execution::(anonymous namespace)::__sexpr<std::execution::(lambda at /workspaces/stdexec/include/exec/../stdexec/__detail/__basic_sender.hpp:59:53){}>, std::execution::__tup::__tuple<std::execution::__clsur::__closure<std::execution::__then::then_t, (lambda at /workspaces/stdexec/test/exec/test_fork.cpp:79:35)>, std::execution::__clsur::__closure<std::execution::__then::then_t, (lambda at /workspaces/stdexec/test/exec/test_fork.cpp:80:35)>>, std::execution::__sync_wait::__receiver<>::__t>, std::execution::__env::__fwd<std::execution::__sync_wait::__env>::__t>::get_env' requested here 318 | return __env_provider.get_env();I'm not sure if the fix I'm doing is the right thing to do.