Open apolukhin opened 3 years ago
yndx-antoshkka, 19 сентября 2018, 12:43 Хм... может быть полезно.
Но возможно стоит поправить требования к exception_ptr и гарантировать что вот такой код будет оставлять p в null value состоянии:
std::rethrow_exception(std::move(p));
Перенос предложения: голоса +4, -0 Автор идеи: Олег Фатхиев
Сейчас std::rethrow_exception не обнуляет std::exception_ptr, хотя такое поведение часто необходимо. Из-за чего в коде можно увидеть swap-ы со временными std::exception_ptr. Предлагаю добавить функцию std::rethrow_and_release.
Вместо того, чтобы писать как-то так:
Можно будет писать вот так:
Код самой функции: