BREAKING CHANGE [#247](https://github.com/ned14/outcome/issues/247)
Previously the value of "spare_storage(const basic_result|basic_outcome *) noexcept" was
not propagated over `OUTCOME_TRY`, which causes things like stack backtraces captured at the point of
construction of an errored result to get dropped at every `TRY` point. This has been fixed by adding
an optional `spare_storage` to "success_type<T>" and "failure_type<T>"}, as well
as to "auto success(T &&, ...)" and "auto failure(T &&, ...)".
You should not notice this in your code, except that where before spare storage values did not
propagate through TRY, now they do, which is a breaking change.
2021-02-23 22:41:03 +00:00
Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com)
Previously the value of "spare_storage(const basic_result|basic_outcome *) noexcept" was
not propagated over `OUTCOME_TRY`, which causes things like stack backtraces captured at the point of
construction of an errored result to get dropped at every `TRY` point. This has been fixed by adding
an optional `spare_storage` to "success_type<T>" and "failure_type<T>"}, as well
as to "auto success(T &&, ...)" and "auto failure(T &&, ...)".
You should not notice this in your code, except that where before spare storage values did not
propagate through TRY, now they do, which is a breaking change.