I assume there's an intent to eventually do that, but the key aspect of the language is that it admits static analysis of lifetime correctness ("borrow checking") not that you have to spend time doing static analysis every time you compile.
Conversation
doc.rust-lang.org/reference/cond would be a major issue if you're type checking different code than you're using for your actual builds. You would need to be very sure that the target configuration is exactly the same for rustc and GCC if you're relying on rustc to type check the code.
1
4
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.
2
2
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.
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++.
1
2
Show replies


