On Mon, Apr 29, 2019 at 12:47 PM Steven Watanabe via Boost < boost@lists.boost.org> wrote:
AMDG
On 4/29/19 1:08 PM, Antony Polukhin wrote:
<snip> This discussion was considered. Please see the two comments from Nikita Kniazev
https://github.com/boostorg/variant/pull/59#issuecomment-459573177
From the PR:
The nullified recursive_wrapper is in a valid but unspecified state
Strictly speaking this is true, but it is backwards incompatible because the state was not valid in previous versions.
This makes it sound like the only problem is that it is a breaking change, but just because we label that state as "valid" doesn't mean that we can also say that we're providing the never-empty guarantee. If we care about correctness at all, if the never-empty guarantee is not dropped, the state in question is not valid and therefore we're violating the basic guarantee.