Given that rust only works on e.g. cygwin recently (and still does not build many crates: i try to compile jujutsu and failed), this is a big blow to portability IMHO. While I try to like rust, I think making it mandatory for builds of essential tools like git is really too early.
As a Windows user, I find random Rust projects work on Windows far more often than random C ones, even if the authors didn’t make a specific attempt to support Windows.
My colleague Bryan Cantrill, famously a huge Unix guy, once said to me “if you had told me that projects I write would just work on Windows at the rate they do, I wouldn’t have believed you.” When I started at Oxide I had to submit like one or two patches to use Path instead of appending strings and that was it, for my (at the time) main work project.
As said before I wasn't complaining about windows, but rather of not so common posix layers like cygwin [0]. Most C posix compliant stuff compiles in my experience.
Right, but Rust makes it so you don't have to use Cygwin. It's one of the great portability advantages of Rust that you can write real Windows programs with it.
I am not really sure if I can follow here. How could a rust compiled program like git honor my cygwin emulated mount points in paths, which I need, when working with other posix compliant software.
I thought that if you invoke a native Windows binary with Cygwin, it translates Unix-looking paths into Windows ones. But it's been a long time since I used Cygwin so I could be wrong.
I want it to be cygwin native, i.e. passing calls through the cygwin posix layer and not use the windows binary. Sure I can use the windows binary, but that is a different thing.