is C++23 std::is_implicit_lifetime bugged today?
I tried the following with clang 22.1 and -stdlib=libc++ which implements std::is_implicit_lifetime:
#include
#include
#include
struct TC_NotILT {
int val;
// user-declared constructors thus not an aggregate, thus not implicit lifetime type
TC_NotILT(int i) : val{i} { std::cout << "not ILT\n"; }
// all special members are then implicitly declared and trivial thus trivially copyable
};
int main() {
std::cout << "expecting true: " << std::boolalpha << std::is_trivially_copyable_v;
std::cout << '\n';
std::cout << "expecting false: " << std::boolalpha << std::is_implicit_lifetime_v;
}
LIVE
And I got:
expecting true: true
expecting false: true
Are my expectation wrongs are is there a bug (didn't find a bug report so far)?