[rust-dev] how is Rust bootstrapped?

Kevin Cantu me at kevincantu.org
Mon Jun 9 14:01:30 PDT 2014

There is a scary amount of stuff we could do with cfg flags...  But it
sounds like asking a lot to commit to that now, while there are still only
a handful of Rust users.


On Mon, Jun 9, 2014 at 11:15 AM, Benjamin Striegel <ben.striegel at gmail.com>

> This does raise a good question though: post-1.0, will we continue the
> current procedure of snapshotting whenever we feel like it, or will we
> restrict snapshots to stable releases, as Go plans to do?
> https://docs.google.com/document/d/1P3BLR31VA8cvLJLfMibSuTdwTuF7WWLux71CYD0eeD8/preview?sle=true
> "The rule we plan to adopt is that the Go 1.3 compiler must compile using
> Go 1.2, Go 1.4 must compile using Go 1.3, and so on."
> On Mon, Jun 9, 2014 at 1:00 PM, Brian Anderson <banderson at mozilla.com>
> wrote:
>> 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
>> _______________________________________________
>> Rust-dev mailing list
>> Rust-dev at mozilla.org
>> https://mail.mozilla.org/listinfo/rust-dev
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140609/d476b0e0/attachment.html>

More information about the Rust-dev mailing list