https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I have a patch for the first assert (via bug 85723), and I think the second
assert should also be reversed; that is, I think we want to assert this:

```
struct Trivial
{
  Trivial() = delete;
};

struct NonTrivial
{
  NonTrivial() = default;
  NonTrivial(NonTrivial&) = default;
  NonTrivial& operator=(NonTrivial&) = default;
};

static_assert(!__is_trivial(Trivial), "Ouch"); // #1
static_assert(__is_trivial(NonTrivial), "Ouch"); // #2
```

The reason for #1 is https://cplusplus.github.io/CWG/issues/1496.html.
The reason for #2 is https://cplusplus.github.io/CWG/issues/2171.html (after
the https://cplusplus.github.io/CWG/issues/1593.html adjustment).

Reply via email to