top | item 25801323

(no title)

fluffything | 5 years ago

Editions only support syntactic changes, so what you are afraid of cannot happen.

We mix editions in >1000 crate projects every day just fine, and we are sure it will work with all future editions.

discuss

order

pjmlp|5 years ago

Which just reinforces my opinion about them.

How are the editions going to help when semantic changes do eventually come up in future Rust versions?

lilyball|5 years ago

If future Rust versions do make semantic changes to existing language constructs, that will presumably only apply to crates built with the new edition, and crates built with the old will get the old semantics.

If we’re talking ABI-level stuff, that doesn’t require an edition because you build all your crates with the same compiler, so it can use a consistent ABI.

Swift’s ABI stability has nothing to do with semantic changes and everything to do with they wanted binary compatibility, so they could start using Swift in the system frameworks that your app links against.

fluffything|5 years ago

Rust will never do semantic changes.

That’s a feature.

If you want languages that introduce semantic changes and break your code, you have many options to pick from, C++ being one such language in the same space as Rust.