in include/unifex/await_transform.hpp [203:217]
if constexpr (detail::_awaitable<Value>) {
return (Value&&) value;
} else if constexpr (unifex::sender<Value>) {
if constexpr (unifex::sender_to<Value, _receiver_t<Promise, Value>>) {
auto h = coro::coroutine_handle<Promise>::from_promise(promise);
return _as_awaitable<Promise, Value>{(Value&&) value, h};
} else {
static_assert(
unifex::sender_to<Value, _receiver_t<Promise, Value>>,
"This sender is not awaitable in this coroutine type.");
return (Value&&) value;
}
} else {
return (Value&&) value;
}