Open
Description
Unlike GCC & MSVC, Clang refuses to compile this https://godbolt.org/z/WYr58Ge9s --
struct B {
const void* immortal_;
consteval B() : immortal_{this} {}
};
constexpr static B b;
The error suggests that the frontend wrongly thinks that this
is a pointer to a temporary:
<source>:6:20: error: call to consteval function 'B::B' is not a constant expression
6 | constexpr static B b;
| ^
<source>:6:20: note: pointer to temporary is not a constant expression
<source>:6:20: note: temporary created here