Fix some 2-phase lookup issues that caused Clang build to break.
This commit is contained in:
parent
38d5af8648
commit
a44c6895f7
|
@ -142,13 +142,13 @@ namespace cppcoro
|
|||
|
||||
private:
|
||||
|
||||
template<typename SEQUENCE, typename TRAITS>
|
||||
template<typename SEQUENCE2, typename TRAITS2>
|
||||
friend class multi_producer_sequencer_wait_operation_base;
|
||||
|
||||
template<typename SEQUENCE, typename TRAITS, typename SCHEDULER>
|
||||
template<typename SEQUENCE2, typename TRAITS2, typename SCHEDULER>
|
||||
friend class multi_producer_sequencer_claim_operation;
|
||||
|
||||
template<typename SEQUENCE, typename TRAITS, typename SCHEDULER>
|
||||
template<typename SEQUENCE2, typename TRAITS2, typename SCHEDULER>
|
||||
friend class multi_producer_sequencer_claim_one_operation;
|
||||
|
||||
void resume_ready_awaiters() noexcept;
|
||||
|
@ -448,15 +448,15 @@ namespace cppcoro
|
|||
|
||||
if (!m_scheduleAwaiter->await_ready())
|
||||
{
|
||||
using await_suspend_result_t = decltype(m_scheduleAwaiter->await_suspend(m_awaitingCoroutine));
|
||||
using await_suspend_result_t = decltype(m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine));
|
||||
if constexpr (std::is_void_v<await_suspend_result_t>)
|
||||
{
|
||||
m_scheduleAwaiter->await_suspend(m_awaitingCoroutine);
|
||||
m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine);
|
||||
return;
|
||||
}
|
||||
else if constexpr (std::is_same_v<await_suspend_result_t, bool>)
|
||||
{
|
||||
if (m_scheduleAwaiter->await_suspend(m_awaitingCoroutine))
|
||||
if (m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -464,7 +464,7 @@ namespace cppcoro
|
|||
else
|
||||
{
|
||||
// Assume it returns a coroutine_handle.
|
||||
m_scheduleAwaiter->await_suspend(m_awaitingCoroutine).resume();
|
||||
m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine).resume();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -477,7 +477,7 @@ namespace cppcoro
|
|||
}
|
||||
|
||||
// Resume outside the catch-block.
|
||||
m_awaitingCoroutine.resume();
|
||||
this->m_awaitingCoroutine.resume();
|
||||
}
|
||||
|
||||
SCHEDULER& m_scheduler;
|
||||
|
|
|
@ -254,15 +254,15 @@ namespace cppcoro
|
|||
|
||||
if (!m_scheduleAwaiter->await_ready())
|
||||
{
|
||||
using await_suspend_result_t = decltype(m_scheduleAwaiter->await_suspend(m_awaitingCoroutine));
|
||||
using await_suspend_result_t = decltype(m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine));
|
||||
if constexpr (std::is_void_v<await_suspend_result_t>)
|
||||
{
|
||||
m_scheduleAwaiter->await_suspend(m_awaitingCoroutine);
|
||||
m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine);
|
||||
return;
|
||||
}
|
||||
else if constexpr (std::is_same_v<await_suspend_result_t, bool>)
|
||||
{
|
||||
if (m_scheduleAwaiter->await_suspend(m_awaitingCoroutine))
|
||||
if (m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ namespace cppcoro
|
|||
else
|
||||
{
|
||||
// Assume it returns a coroutine_handle.
|
||||
m_scheduleAwaiter->await_suspend(m_awaitingCoroutine).resume();
|
||||
m_scheduleAwaiter->await_suspend(this->m_awaitingCoroutine).resume();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -283,7 +283,7 @@ namespace cppcoro
|
|||
}
|
||||
|
||||
// Resume outside the catch-block.
|
||||
m_awaitingCoroutine.resume();
|
||||
this->m_awaitingCoroutine.resume();
|
||||
}
|
||||
|
||||
SCHEDULER& m_scheduler;
|
||||
|
|
|
@ -116,10 +116,10 @@ namespace cppcoro
|
|||
|
||||
private:
|
||||
|
||||
template<typename SEQUENCE, typename TRAITS, typename SCHEDULER>
|
||||
template<typename SEQUENCE2, typename TRAITS2, typename SCHEDULER>
|
||||
friend class single_producer_sequencer_claim_operation;
|
||||
|
||||
template<typename SEQUENCE, typename TRAITS, typename SCHEDULER>
|
||||
template<typename SEQUENCE2, typename TRAITS2, typename SCHEDULER>
|
||||
friend class single_producer_sequencer_claim_one_operation;
|
||||
|
||||
#if CPPCORO_COMPILER_MSVC
|
||||
|
|
Loading…
Reference in a new issue