3 ms·
I feel like you could just add a version number to the Cargo.toml (cargo new would automatically set the latest one). The crate would then be built with the sem
by CryZe 10y ago
I feel like you could just add a version number to the Cargo.toml (cargo new would automatically set the latest one). The crate would then be built with the semantics of that version and all crates you use still use the version they were designed for (as long as the semantics can be properly translated between the individual versions).
- Manishearth 10y agoThat wouldn't work in practice. Breaking changes need not be syntactic, and probably wouldn't be syntactic -- Rust isn't going to break the language for that. There's a good chance it would be semantic breakage that can't allow interoperation between crates.
- comex 10y agoWhat sort of semantic breakage do you have in mind? My impression is that there are few changes of that sort that couldn't be worked around somehow.
- Manishearth 10y agoChanges to the orphan rules, for one. Changing the behavior and representation of stdlib APIs. You would end up with e.g. two incompatible representations of String being used across the crate boundary.