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)