3 ms·
Hi Steve, First thanks a lot for Rust. I have a background in embedded development and the perspective to have a modern, safe by default language available in
by yaantc 12y ago
Hi Steve,
First thanks a lot for Rust. I have a background in embedded development and the perspective to have a modern, safe by default language available in the future (it's a conservative domain ;) is very exciting!
Cargo aside, the question of ABI stability is an interesting one: if an implementation stick to stable features, will it be possible to link code compiled with a newer compiler with a library compiled with an older version? Or is the stability only at the language level for now?
I don't think ABI stability is required at this stage. There's been some experience with ABI changes with C++ and it's always possible to deal with it by having interfaces defined using a C ABI (stable) to shield oneself, if needed (if recompiling everything is not practical). But clarifying the status and plan would be nice.
Thanks again.
- kibwen 12y agoABI stability is definitely not guaranteed at this time, as this would require standardizing a huge swath of behavior that is currently internal to the compiler. As mentioned in the OP, this is the same reason why syntax extensions cannot be stabilized as they are. So the answer is sadly no, different versions of the Rust compiler will not be guaranteed to produce binaries that can link to each other, short of using a C ABI.