-
Notifications
You must be signed in to change notification settings - Fork 24
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 redundant checked_cast
, add utimes
family
#128
Conversation
Hmmm I thought x86 kernels didn't have 64 bit time support until 5.1, and we were still on 2.x something... Weird. It looks like we're 64-bit time always? |
Rustix uses 64-bit time types always, and uses the 64-bit APIs when the platform has them. It falls back to the 32-bit APIs when it needs to, though it converts everything to/from 64-bit types, and fails if the conversions ever fail. The idea is to be y2038-compatible when running on kernels that support the APIs to be y2038-compatible. |
That said, I believe mustang doesn't currently handle this correctly. Mustang should use libc's |
I am so confused as to how this breaks... It appears to be an ICE in some macro expansion code? |
Ah, new Rust nightly ICE... Any reason with Rustix provides both |
Passing a NULL pathname in |
It looks like the ICE might be due to rust-lang/rust#99261. |
|
Thanks! |
As the comment in one of the files says, I'm not sure what Rustix's story is wrt 64bit time on 32-bit systems.
This also adds
some_or_ret_einval
, which I'm down to bikeshed, but it should get rid of all the unwraps for parsing flags from bits.