object::clear_mixin_data is noexcept, but relies on an noexcept(false) destructor. It should never throw in the given case, but still the compiler will generate calls to std::terminate there. It is possible to create a class basic_object_mutation which provides alloc/dealloc/destroy functions for mixin data. I can have a noexcept destructor and can be used by both object_mutation and clear_mixin_data.
object::clear_mixin_data
isnoexcept
, but relies on annoexcept(false)
destructor. It should never throw in the given case, but still the compiler will generate calls tostd::terminate
there. It is possible to create a classbasic_object_mutation
which provides alloc/dealloc/destroy functions for mixin data. I can have anoexcept
destructor and can be used by bothobject_mutation
andclear_mixin_data
.