I'm maintaining a crate that already went 1.0. Now, I'm thinking about adding some more API surface to it, which is fine as far as semver goes. However, that includes the new API in the stability promise. I'd like to have it flexible for version or two before it is set to stone as well.
Is there a way to add a function or two into a crate and explicitly mark these as not-included in the stable promise? Something like rust's std does with feature flags?
I was thinking about a
unstable-something-something crate feature that would force the user to enable it, but:
- It doesn't seem very elegant
- Some other crate in the dep graph can turn it on „by accident“
Does anyone have a better solution?