Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create default stable feature before 1.0 to avoid future breaking changes #417

Closed
paulocsanz opened this issue Oct 30, 2019 · 1 comment · Fixed by #434
Closed

Create default stable feature before 1.0 to avoid future breaking changes #417

paulocsanz opened this issue Oct 30, 2019 · 1 comment · Fixed by #434

Comments

@paulocsanz
Copy link
Contributor

Hey, this comes from a discussion that happened on reddit after a announcement of this crate, basically it would be nice to split this crate in features in the future, to allow using just a fraction of it. This would make it incredibly easy to integrate this crate with others in the async ecosystem.

But splitting into features is a breaking change, since it will break the crate for whoever uses default-features = false, so either we do it before 1.0, or we will have to wait for 2.0.

There is a trick tho, we can avoid this breaking change if we crate a stable feature right now and put everything stable in it, so default-features = false wouldn't work and they would be forced to select the features from the start.

Discussion:
https://www.reddit.com/r/rust/comments/doos98/asyncstd_v09911_released/f5phwor/

@paulocsanz paulocsanz changed the title Create default stable feature before stabilizing to allow for future split into features without a breaking change Create default stable feature before 1.0 to avoid future breaking changes Oct 31, 2019
@skade
Copy link
Collaborator

skade commented Nov 1, 2019

I would generally consider this. A good question though is if we want this attribute in a broad fashion, like your PR or in a granular fashion like the in the stdlib (annotating every item!).

The latter gives a lot of granularity, but gives a lot of churn now. Later, it is easier for people to apply function by function.

Also, I was suggesting something similar for WASM here: #225 (comment)

Aside: I would really like if we had the stable attribute outside of stdlib...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants