Jonathan Wakely <jwakely.gcc@xxxxxxxxx> writes: | On 7 November 2011 10:08, Lars Gullik Bjønnes wrote: >> >> Making the destructor noexcept does not even compile. > | Oops, of course, sorry - it can't be defaulted because the default | definition would not be noexcept. This works: > | ~PretendToBeCopyable() noexcept { } Yes it compiles. The copy constructor is still run, but if having that throw I still get into std::terminate. -- Lgb