In order to properly use rustc to perform the type/borrow checking, you would need it to support the platform in the frontend even if it lacks a backend for it.
If there was a rustc GCC backend, you could use it to bootstrap on a platform supported by GCC without a GCC frontend.
Conversation
I still see people complaining that there are some legacy or weird embedded platforms supported by GCC and not LLVM. I'm not sure what those are specifically. From my perspective any serious architecture worth supporting will have a community to port GCC, LLVM and a lot more.
2
1
Ever heard of ESP32 (xtensa ISA)? AVR (Arduino & many CNC&3DP control boards)? Etc. Not everything is a Linux cloud server or phone.
1
It has at least experimental support for them and it would be a dramatically smaller project to bring those up to the quality required by the people wanting to use Rust on those platforms. There's a lot more than Rust using LLVM and those things are increasing in usage too.
1
1
rustc supports having other backends:
rustc-dev-guide.rust-lang.org/backend/backen
The use case for an alternate frontend would be providing an alternate bootstrap path, but you really don't need to be able to bootstrap on each platform that's supported. Rust has nice LLVM-style cross-compilation.
2
3
I think an alternate frontend would be a LOT more interesting if it wasn't part of GCC. Making it part of GCC makes it a lot less interesting. It makes it a pain to contribute, ties releases to GCC and Rust has a strong permissive licensing culture so that drives people away too.
1
2
If you had an alternate frontend people could use on a single platform to compile rustc, they could then use rustc to target all the platforms it supports. Also, could be written in a non-Rust language that people in the Rust community are more likely to want to write than C++.
I just think they won't get the interest and contributions required because Rust people want to Rust code, tend to want permissive licensing and a major trend is trying to do things right from the ground up. GCC is basically an amplified version of what's already wrong with LLVM.
1
2


