I am pretty "eh" about gcc-rs but my position is that if it lacks a borrow checker, it's not actually a Rust implementation, it's a codegen backend for an extremely exotic dialect of C and/or ML.
Rejecting incorrect yet well-formed programs is a primary feature of Rust.
Conversation
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.
1
4
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.
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
Show replies
I love that github.com/rust-lang/rust happened (not sure how far it is along though)
frankly it's how I learned about libgccjit, which is actually surprising...
that is, I can't remember any of the people complaining that rustc has less platform support than GCC, bringing it up
1



