Rust's complexity + Rust's stability policy =?

There must always be a tradeoff between publishing a breaking change of an API and keeping using an old API for the sake of interoperability.

However, I see a structural problem here because of the combination of:

  • the goal of Rust's stability (which is important and legit),
  • (allegedly? yet?) missing concepts for migration,
  • the long lifecycle of a programming language, and
  • the complexity of Rust.

I believe that this structural problem should at least be recognized as such. Not to say that I have a solution; but it is not "irrelevant".