In my first message I've mentioned cross. Note that cross
doesn't use Rust's cross-compilation capabilities. It launches virtual machines instead.
So I don't take existence of cross
as "cross-compilation is easy". I take it as "actual cross compilation in Rust is so annoyingly hard, that even a dedicated cross-compilation project has completely given up on using it".
I think use of Docker is telling. In C projects where dependency management is hard, many projects find Docker easier. They say don't bother installing dependencies on your actual host operating system — just run this Docker image, easy, problem solved! OTOH Cargo made dependencies actually easy, so users are instructed to just run cargo build
natively on their host OS, no Docker needed. So I think Rust will have solved cross-compilation when the solution will be to run cargo build --target
natively on the host OS, not cross build --target
in that uses Docker.