is C++23 std::is_implicit_lifetime bugged today?
08:47 01 Apr 2026

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)?

c++ clang++ type-traits c++23 implicit-lifetime