In terms of the low-level / in-memory layout, Rust structs are already unspecified / implementation-defined. The Rust compiler is allowed to reorder the fields of your struct in memory in order to make them more compact or to optimize performance. If you need a strictly-defined layout for your structs, you have to annotate them #[repr(C)]. If you annotate your struct, because you care about the layout, then you clearly need to have full control over it, so alphabetical ordering would be useless. You would use order of declaration to specify your desired memory layout, so it matters.
In terms of source code, Rust already does not force any order onto you. You can specify the fields of your struct in any order you want when constructing them.
struct MyStuff {
b: i32,
a: f32,
}
impl MyStuff {
fn new() -> MyStuff {
MyStuff { a: 0.0, b: 0 }
}
}
^ this is already valid Rust code