As suggested by @ChrisDenton:
Previous issues such as #4291 proved that the symlink approach to proxies on Windows could be problematic from time to time.
Maybe we could add a sanity check right after the installation phase for the proxie(s) with a backing binary, say running cargo --version or rustc --version, and see if the proxy can actually work and produce a reasonable output. If it doesn't, we should prompt the user to file an issue in https://github.com/rust-lang/rustup/issues and exit immediately with an error.
Note
- It's unfortunately not possible to assume any backing binaries to be available at all times. Not all toolchains have
cargo, and rustup-init --default-toolchain=none can even leave you without rustc.
- For packagers who would like to skip the installation phase entirely, the validation verification of proxies should not be our responsibility.
As suggested by @ChrisDenton:
Previous issues such as #4291 proved that the symlink approach to proxies on Windows could be problematic from time to time.
Maybe we could add a sanity check right after the installation phase for the proxie(s) with a backing binary, say running
cargo --versionorrustc --version, and see if the proxy can actually work and produce a reasonable output. If it doesn't, we should prompt the user to file an issue in https://github.com/rust-lang/rustup/issues and exit immediately with an error.Note
cargo, andrustup-init --default-toolchain=nonecan even leave you withoutrustc.