[rust-dev] how is Rust bootstrapped?

James Cassidy qfire+rustdev at qfire.net
Mon Jun 9 06:34:33 PDT 2014


On Mon, Jun 09, 2014 at 12:55:00PM +0000, Sanghyeon Seo wrote:
> > Do you plan to create a cleaner full-bootstrap process?
> > By "cleaner" I mean dividing stage-0 to more [sub-]stages,
> > which would be well-defined and documented in terms of
> > the set of language features it implements. Currently these
> > sub-stages are defined by a team member's mood to instruct
> > the build-bots to make a snapshot. This kind of bootstrap
> > seems to be a black-box.
> 
> As I understand, there is no plan to do this. "Bootstrap" you are talking
> about is purely theoretical, and I don't think anyone actually performed it.
> In practice, Rust is bootstrapped from the downloaded binary.
> 
> > I understand you do not spend resource on such tasks before 1.0,
> > but do you think this is a legitimate|sensible request at all?
> > Would it be worth the work?
> 
> Personally, I don't see any value in doing this work. C compilers are
> bootstrapped from C compiler binaries. Analogously, the Rust compiler
> is bootstrapped from the Rust compiler binary.
> 
> Trying to bootstrap from rustboot would be akin to trying to bootstrap
> GCC from last1120c (the oldest C compiler with surviving source code).
> An interesting feat of computer archaeology, but not really useful for
> anything.
> 

I think he was more referring to what language features will be allowed in the
rust compiler itself where earlier stages would be more restricted so they can
be compiled with older rust compilers, for example hopefully rustc 2.0 can be
compiled by rustc 1.0.  Then later stages could use more features since it will
be compiled with the more up to date earlier stage.

Currently what features can be used in the compiler itself are just limited to
whenever someone decides to compiler a newer stage0 compiler.


-- Jim


More information about the Rust-dev mailing list