Extending alignment to any constant-evaluable expression
Rust Internals [Unofficial]
March 19, 2026
I don't see any problems there. The compiler already has to handle self-reference. For example, the following code already produces a normal(ish) compiler error:
struct Thing {
field: [u8; size_of::<Thing>()],
}
Discussion in the ATmosphere