The SemVer trick löst ein ABI-Problem bei Rust. Betrifft sicher nicht nur Rust, sondern auch andere Sprachen mit nominellen Typen, die an die Version gebunden sind.
Darüber hinaus frag ich mich, was Rust-Devs immer mit ihren pre-1.0-Releases haben. Es ist einfach total unpraktikabel, wenn man einem Release nicht ansieht, ob es breaking ist. Semver ist dafür da, das zu kennzeichnen. Das hat zwangsweise als Konsequenz, dass man relativ schnell bei Major-Version 600 ist. Das ist auch überhaupt nicht schlimm, aber irgendwie hab ich das Gefühl, dass viele Rust-Library-Devs sich vor der 1.0 fürchten. Stattdessen habe ich jetzt in jedem meiner Rust-Projekte 2/3 Dependencys, die pre-1.0 sind. Da ist das Updaten jedes mal ein Rätselraten.