https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108974
Jiang An <de34 at live dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |de34 at live dot cn --- Comment #3 from Jiang An <de34 at live dot cn> --- > is_nothrow_invocable_v<CompletionFunction&> shall be true. If implementation divergence is not intendedly permitted, I don't think it makes much sense to introduce UB in this way. I guess we should either turn it into a mandating requirement: > Instantiation of barrier<CompletionFunction> is ill-formed > if is_nothrow_invocable_v<CompletionFunction&> is not true. Or relax the preconditions: > If any invocation to the completion function throws an exception, > the behavior is undefined. I've mailed to LWG Chair for this...