You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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
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...
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, sodefault-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/
The text was updated successfully, but these errors were encountered: