Require rustc to be bootsrapable?


Currently it not easy to use rust on a new platform, like OpenBSD after an API break, or on gentoo because rustc is written in Rust. This is called the bootstrap problem.

There is a C++ compiler, which can compile a working rustc: mrustc. To solve the bootstrap problem it would be enough to require that mrustc can build rustc. This would not be a big change. It would only mean, that new Rust language features can only used in rustc, after are supported in mrustc. But in any other Rust program they could still be used.

What do think about my proposal?


Formally supporting a second, entirely distinct Rust compiler will require quite a lot of investment. Cross compiling once to bootstrap a new platform seems like it’s quite a bit easier.