Rust version requirement change as semver breaking or not

I think implementing RFC 2495 fully (with version taken into account during deps resolution) is the best answer (edit: I've prototyped it here!) This way you can have your cake and eat it: nobody's build will break if you start requiring a newer version of Rust at any time.

Semver-major bump is disruptive, and causes a transition period when the library gets duplicated in user's dependency tree and/or its interfaces aren't compatible across libraries. It's not a pain I want to subject users regularly to, so I support only latest(ish) stable and break old Rust versions without remorse.

If Rust had LTS I could think twice before breaking LTS compatibility of "finished" crates, but I probably just wouldn't support LTS versions for new crates in development.

2 Likes