Spawned off of #21232 In the short term, we want to reject code like this: ```rust struct S { x: u32, y: u32 } fn main() { let mut s: S; s.x = 10; } ``` See #54987 for the long-term goal.