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
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to