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

            Bug ID: 109623
           Summary: constexpr restrictions are not relaxed enough
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: oleksandr.koval.dev at gmail dot com
  Target Milestone: ---

https://godbolt.org/z/eo8K3Ehqq

```cpp
#include <unordered_map>

struct S{
    constexpr S() = default;       // error, not implicitly constexpr
    constexpr S(){}                // this works
    std::unordered_map<int, int> m;
};

```

My understanding is that in C++23 this should be allowed because the only
restriction for constexpr constructors and destructors is the absence of
virtual base classes.

Reply via email to