I’m a bit fuzzy on the motivation here. Obviously Struct { &field } is better than Struct { field: &field }, but this shortcut only works for local bindings (const and static items theoretically could too, but since those are upper case and fields are lower case, idiomatic code won’t be able to apply the shorthand syntax in those cases). Thus in many cases one can side step the need to create a reference when creating the struct by instead making the local a reference. That is, instead of
let field = foo();
// ...
let s = Struct { &field };
one could just do this:
let field = &foo(); // or a ref pattern if needed, e.g., for function arguments
// ...
let s = Struct { field };
This doesn’t work when the field value needs to mutated between creation of the local and creation of the struct, but that seems a narrow special case of something that already doesn’t happen all too often.