Boost logo

Boost :

Subject: Re: [boost] [variant] Heads-up!
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2019-04-29 19:22:08


On Mon, Apr 29, 2019 at 12:09 PM Antony Polukhin via Boost <
boost_at_[hidden]> wrote:
>
> пн, 29 апр. 2019 г. в 21:52, Steven Watanabe via Boost <
boost_at_[hidden]>:
> >
> > AMDG
> >
> > On 4/29/19 11:30 AM, Antony Polukhin via Boost wrote:
> > >
> > > I've merged a very cool optimization by Nikita Kniazev into the master
> > > branch. From now on boost::variant does pointer stealing for recursive
> > > variants.
> > >
> > > This significantly improves the performance of the variants move
constructors.
> > >
> > > However if you use a variant variable after the std::move for anything
> > > except destruction and assignment then you're getting an UB. Beware!
> > >
> >
> > We've had this discussion before:
> > https://lists.boost.org/Archives/boost/2013/02/200744.php
>
> This discussion was considered. Please see the two comments from
> Nikita Kniazev
https://github.com/boostorg/variant/pull/59#issuecomment-459573177

Do I understand correctly that variant no longer provides the basic
guarantee, and that's considered an improvement?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk