[Bug c++/96090] New: Inconsistent querying of differring exception specifications of explicitly defaulted functions
johelegp at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jul 7 00:22:37 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96090
Bug ID: 96090
Summary: Inconsistent querying of differring exception
specifications of explicitly defaulted functions
Product: gcc
Version: 10.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: johelegp at gmail dot com
Target Milestone: ---
See https://godbolt.org/z/SiGMyX.
```C++
#include <type_traits>
using namespace std;
struct yesthrow_t
{
yesthrow_t() noexcept(false) = default;
yesthrow_t(const yesthrow_t&) noexcept(false) = default;
yesthrow_t( yesthrow_t&&) noexcept(false) = default;
yesthrow_t& operator=(const yesthrow_t&) noexcept(false) = default;
yesthrow_t& operator=( yesthrow_t&&) noexcept(false) = default;
};
static_assert(!is_nothrow_default_constructible_v<yesthrow_t>);
static_assert(!is_nothrow_copy_constructible_v< yesthrow_t>);
static_assert(!is_nothrow_copy_assignable_v< yesthrow_t>);
static_assert(!is_nothrow_move_constructible_v< yesthrow_t>);
static_assert(!is_nothrow_move_assignable_v< yesthrow_t>);
```
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00311.html calls out a single
case, but not this inconsistency.
More information about the Gcc-bugs
mailing list