this is a deeply frustrating aspect of working with Rust and it makes me scared of writing anything long term in it anymore. you really do just have to pin specific versions of the compiler to keep the lights on.
@eevee many of the problems revolve around the lockfile secretly locking old versions of derive macro crates when trying to upgrade dependencies, and subtle api changes in the standard library over the years, or awkwardness surrounding the use of semver, but i've also rarely had situations where i just flat out cannot compile an entirely untouched crate
@eevee these subtle changes happen in tiny libraries multiple steps of transience down the tree and it breaks everything
it's also increasingly feeling like the Node style approach to dependencies is creating untenable dependency trees (surprising nobody) that balloon compile times and maintenance cost to ridiculous scale.
my oldest rust project is over 4 years old and the compiler breaks it every few months. if I were to compile it today, it would still take around 6 minutes to compile everything, if I miraculously got all the dependency versions lined up to compile under the current compiler.