-
Notifications
You must be signed in to change notification settings - Fork 95
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
Remove full
feature
#408
Remove full
feature
#408
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in the future we should remove these features and just enable these types directly.
Would be good to build this feature in CI, i.e. |
I think this is a good idea. Features are not a good way to protect anyone from pulling in anything dangerous as they can always activate by accident. I can do it in this PR if you want. I would of course leave the features in the manifest so we don't have a breaking change. They would just don't do anything until we remove them with the next major release. This will also solve the "CI issue" where we don't check any feature combination as brought up by @mrcnski. |
Yeah, then let's do it in this pr. |
full
feature
Done |
Guarding things behind features only makes sense to reduce compile time or prevent pulling in situational dependencies.
It is not a good way to guard against accidental implementations on unwanted types. Due to feature unification it can be enabled through oopsies anyways. The feature just makes testing more complicated.
Hence we remove the
full
feature. We leave it in the manifest but it doesn't do anything (for backwards compat). But we also need to putalloc::syn
behind conditional compilation as it is not available on all targets.