-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Fix some raw types in std to match what's in libc #43499
Conversation
The pthread_t type, in particular, causes failures when building cargo 0.20.0 after changeset 8304e06 in the libc repo.
Most of those raw types are deliberately wrong per #31551. I think you can still make a case for |
@cuviper can you expound a bit on the "deliberately wrong" part? There's not enough reasoning in #31551 to explain why. Should rust itself no longer be using these at all? |
Those type definitions are all stable and can't be changed. |
They were never correct to begin with and this only affects Solaris. Surely they can be fixed since they're causing build problems for cargo. |
@binarycrusader see the comments in #41752. |
This is the error that prompted this fix:
As best I can tell, there's no issue in the I could simply fix
That use of a type from the |
The filesystem-related types are deliberately wrong mainly because LFS is messy. At least on Linux, there's just not a good way to have types that are truly FFI compatible. So the decision was widen all the But I don't feel too strongly about it, and I don't know the LFS story on Solaris. Fixing |
My recollection is that we deprecated these types for exactly this reason - we couldn't change them since they're stable. Is this an exception because Solaris isn't a tier 1 platform? |
Ah yeah it's true, I'd mostly be worried about just fixing |
@dhduvall would you like to change this to just fixing |
My git-fu is sad. I ended up opening #43597. |
The pthread_t type, in particular, causes failures when building cargo 0.20.0 after rust-lang/libc@8304e06b5.