[rust-dev] how is Rust bootstrapped?

Brian Anderson banderson at mozilla.com
Mon Jun 9 10:00:03 PDT 2014


This is an interesting idea, but I don't see it happening for a long 
time if ever:

* The current process is working fine
* rustc depends on many of the standard libraries, so restricting rustc 
means figuring out how to stick to a fixed subset of those libraries
* It's a lot of work to make the bootstrap process even *more* complicated
* For some minor benefits

On 06/09/2014 06:34 AM, James Cassidy wrote:
> 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
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev



More information about the Rust-dev mailing list