This isn't really true with stable Rust. Rust uses a system of "editions" for crates, where newer compilers are directed to parse the code using the older rules and it can freely interoperate with code written for newer editions even in the same binary. If you use nightly features then sure, that can break, but once a feature is stabilized its functionality is guaranteed for many years.