struct T {
int i;
};
struct S {
struct {
T val;
};
constexpr S() : val() {}
constexpr ~S() {}
constexpr T get() { return val; }
};
constexpr bool func() {
S s;
return s.get().i == 0;
}
static_assert(func());
Here Clang says that val isn't initialized, even though it pretty clearly is.