Comment by noirscape
The problem that Rust runs into is that the community settled on wanting enforced semver extremely quickly, combined with an overall tendency to really not want to do post-1.0 releases if they can help it.
The result is that most Rust crates sit on the 0.x version forever (since anything before 1.0 in semver is pretty much a free-for-all), even though they're probably going to be perfectly usable in most cases with the same library breakage you expect in other languages.
IMO it just shows another dent in thinking that a simple string can confer any information about the API contracts on offer. Semver is a neat indicator, but practically that's all it is.