std::promise::promise (3) Linux Manual Page
std::promise<R>::~promise – std::promise<R>::~promise
Synopsis
~promise(); (since C++11)
Abandons the shared state:
* if the shared state is ready, releases it.
* if the shared state is not ready, stores an exception object of type std::future_error with an error condition std::future_errc::broken_promise, makes the shared state ready and releases it.
