`S { foo: val, ..Default::default() }` gives an error if the other fields aren't public, but it should work (given `S: Default`).