i.e. consider this:
fn f() {
struct S { a: u8, b: u8, c: u8 }
let s = S { a: 0, b: 1, c: 2 };
let s = S { b: 4, ..s };
// ^^^ cursor somewhere here
}
==>>
fn f() {
struct S { a: u8, b: u8, c: u8 }
let s = S { a: 0, b: 1, c: 2 };
let s = S { b: 4, a: s.a, c: s.c };
}