Boost logo

Boost :

Subject: Re: [boost] Updated boost::base_from_member for C++2011
From: Michel Morin (mimomorin_at_[hidden])
Date: 2012-02-21 06:47:33


Michel Morin wrote:
> Ah, I see what I was missing. As Daryle said,
> the destruction of a MemberType temporary is invoked in noexcept operator.
> I didn't notice this, because clang does not evaluate the destructor.

Sorry, this is incorrect.
Clang **does** checking the destructor in noexcept operator.

I didn't know of N3204 (deducing noexcept for destructors),
    http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3204.htm
and I made a wrong comment on clang's noexcept operator.

As per N3204 (clang already implemented this),
with the following type

    struct type
    {
        type() noexcept;
        ~type() { throw 0; }
    };

`noexcept(type())` should return true,
despite the fact that the destructor throws.

Regards,
Michel


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