While this is true now, I expect this to be the case since it's a reasonably fresh language, and most maintainers of Rust projects are enthusiasts that are fine with breaking changes.
Once you get those 10 year old legacy Rust projects that's when you'll be in a different situation.
There's also a potential paradigm changes (like OOP -> functional pattern) that require a complete redesign of the language, since incremental changes can only get you so far.
Python barely managed to pull of v2 to 3, so I guess the future is open to all options.
Nope, editions cover that use case nicely: Rust breaks things every three years -- without breaking existing code.
Basically you have to opt in your project to the new normal. All your projects dependencies can opt in, too, whenever they want to make the jump. Nobody has to opt in though.
Maybe C++ can do something similar eventually once modules are used everywhere. Those have a much cleaner separation of code between individual project parts than you can have with headers.
Once you get those 10 year old legacy Rust projects that's when you'll be in a different situation.
There's also a potential paradigm changes (like OOP -> functional pattern) that require a complete redesign of the language, since incremental changes can only get you so far.
Python barely managed to pull of v2 to 3, so I guess the future is open to all options.