-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Hide iconv
functions on Apple devices behind a feature flag
#3097
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @JohnTitor (or someone else) soon. Please see the contribution instructions for more information. |
9b7457b
to
5712fab
Compare
What would be the best path forward for |
5712fab
to
9451504
Compare
9451504
to
eff2283
Compare
Uhm, I hesitate to add a platform feature flag as we support a lot of platforms and the flag management can be complex easily 😱(we've done a similar thing to Rust versions and it introduces a ton of complexity, huh). (By the way, this is a breaking change and I'd like to ship it in a major release.) |
I still don't understand what the problem is with linking against |
👍 for just dropping these functions entirely in a subsequent major release, if we ever make a major release. |
@JohnTitor @joshtriplett Do you think there's any chance of a major release happening within, say, a few months? A year? Just curious, I appreciate your insights, thanks! 😊 |
That was about
It's mostly compelling since it's practically unused1, and linking with it means it must be available on the host, which breaks some minimalist (or perhaps naïve) cross-compilation setups, where a full SDK is not available, but a linker and a libSystem stub are (for example, this is the case with Concretely, this probably is one of the first things hit by folks who try to cross compile rust to macOS by using In any case, I don't think we should removing the items (even if they're nearly unused), and I really don't think we should add a feature flag for this. I do think it's annoying that Rust users may have to cart around semi-vestigial
I do think the hassle this causes in practice is not nearly worth it given how few people (if any) depend on it, but I also think libc should not make the breaking API changes it does (altho I'm unsure how much the Footnotes
|
That's insightful, thank you!
Do you mean we should deprecate items first and then remove them? If so, how about deprecating on 0.2.x and removing on 0.3.x (along with time64 change)? |
Given that it seems much more likely that we will be pushing out a 0.3 release sometime "soon" (highly relatively speaking): Yeah, we should probably instead do a deprecation and |
Remove inconv linking on apple Closes #3097
See #2870 and #2944 for context. I believe the comment in the code explains the changes well enough, but if you'd like me to add a description to the commit as well (or adjust any wording etc.), let me know.