https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51618
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-08-16 Ever confirmed|0 |1 --- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- Confirming as an enhancement request, though I'm not sure what (if anything) is possible here. Multiple threads can still call wait() on a std::future, and only the first should run the deferred function. The others need to synchronize on the invocation, and the completion. We should at least investigate and see if there's any improvement that can be made.