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

            Bug ID: 126007
           Summary: __builtin_is_implicit_lifetime disagrees with Clang
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nikolasklauser at berlin dot de
  Target Milestone: ---

Clang is happy with the following code, but GCC is not:
```
template <bool B>
struct S {
  S() requires B = default;
  S(const S&) {}
};

static_assert(!__builtin_is_implicit_lifetime(S<false>));
```
Specifically, GCC thinks S<false> is an implicit-lifetime type. I believe it's
incorrect, since there is no trivial eligible constructor I believe. (see
https://eel.is/c++draft/class.prop)

Reply via email to