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

Remove full feature #408

Merged
merged 4 commits into from
Feb 10, 2023
Merged

Remove full feature #408

merged 4 commits into from
Feb 10, 2023

Conversation

athei
Copy link
Member

@athei athei commented Feb 8, 2023

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 put alloc::syn behind conditional compilation as it is not available on all targets.

Copy link
Member

@bkchr bkchr left a 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.

@mrcnski
Copy link
Contributor

mrcnski commented Feb 9, 2023

Would be good to build this feature in CI, i.e. string versions of check-rust-stable-no_derive_full and check-rust-stable-no_derive_no_std_full. Otherwise we may not catch accidental build errors right away.

@athei
Copy link
Member Author

athei commented Feb 9, 2023

I think in the future we should remove these features and just enable these types directly.

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.

@bkchr
Copy link
Member

bkchr commented Feb 9, 2023

Yeah, then let's do it in this pr.

@athei athei requested a review from a team as a code owner February 9, 2023 14:44
@athei athei changed the title Provide seperate feature for string implementations Remove full feature Feb 9, 2023
@athei
Copy link
Member Author

athei commented Feb 9, 2023

Yeah, then let's do it in this pr.

Done

@athei athei requested a review from bkchr February 9, 2023 15:05
@athei athei merged commit 400f0fd into master Feb 10, 2023
@athei athei deleted the at/string-feature branch February 10, 2023 07:59
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 this pull request may close these issues.

3 participants