Hacker News new | ask | show | jobs
by SamReidHughes 3546 days ago
> Wouldn't you just use libc directly from Rust if you wanted that?

No, because the interface is

    int stat(const char *path, struct stat *buf);
1 comments

It would be physically impossible for a call to that function to work with a single definition of the struct stat, because the set of fields (and their ordering) and struct size differ between platforms. So that libc wrapper must provide separate definitions of the struct for each platform.
Ah, sorry! I was thinking about things like "the size of this type is different per-platform," not "every single platform has a different definition of this struct."

I still think that, given Cargo, the one-time cost makes it worth it, but after seeing my error, think that the point makes more sense. Thank you for being patient. :)