User can own a version of coroutine_handle::address() whose return type is not void* by using template specialization for coroutine_handle<> for some promise_type.
In this case, the codes may violate the capability with existing async C APIs that accepted a void* data parameter which was then passed back to the user-provided callback.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Because of D82029, the promise_type::final_suspend() should declare with noexcept specifier .
Comment Actions
This generally looks good to me. I'll accept this if others do not have different ideas about this. Thanks!
This comment was removed by ChuanqiXu.
clang/include/clang/Basic/DiagnosticSemaKinds.td | ||
---|---|---|
10521 | Should this be something like [...] for compatibility with existing async C APIs instead? |
Should this be something like [...] for compatibility with existing async C APIs instead?