4 ms·
> In terms of API stability, they seem willing to drop features within a major release cycle or two. I don't think any feature/api that was at one point marked
by Gankro 10y ago
> In terms of API stability, they seem willing to drop features within a major release cycle or two.
I don't think any feature/api that was at one point marked as stable post 1.0 (when they started making any guarantees) has ever been removed.
> In terms of language stability, they seem to only guarantee stability within one major release (e.g. 1.x).
While it's true that 2.x has the rights to break everything, this is incredibly dishonest to state in a vacuum, because it's a well established point that 2.x should never exist. The devs want all code to work forever, and only a catastrophe would push them to pull the lever. They have of course reserved the right to require fixes in special cases -- e.g. fixing a bug in the type checker might break some code, and that's acceptable. Although even then they'll try to phase in the fix over a few releases. Every release is tested against the entire crates.io ecosystem to try to catch these regressions.
You are absolutely correct on ABI stability, though.
- teacup50 10y agoGiven the litany of deprecation markers applied to existing APIs, one must presume the intention of removing them, no?
- Manishearth 10y agoNot necessarily. I suspect even in the case of 2.0, most if not all of those apis will survive. Deprecation markers exist to encourage people to use newer, better APIs. I suspect that even if 2.0 happened, the only apis that would be removed would be ones that we're reasonably sure nobody uses (via crater), and even then there would be debate. And like Gankro said, 2.0 is a thing that's not supposed to happen in the first place.
- pcwalton 10y ago> Given the litany of deprecation markers applied to existing APIs, one must presume the intention of removing them, no? No! That would be a basic violation of the compatibility promise that we've upheld since 1.0. Are you going to criticize C for marking gets() as deprecated?
- fanf2 10y agoC11 does not have gets() anymore!
- SamReidHughes 10y agoSorry, C will never live it down.