<div dir="ltr">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.<div><div><br></div><div><br></div><div>
Kevin</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 9, 2014 at 11:15 AM, Benjamin Striegel <span dir="ltr"><<a href="mailto:ben.striegel@gmail.com" target="_blank">ben.striegel@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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?<br>
<br>


<a href="https://docs.google.com/document/d/1P3BLR31VA8cvLJLfMibSuTdwTuF7WWLux71CYD0eeD8/preview?sle=true" target="_blank">https://docs.google.com/document/d/1P3BLR31VA8cvLJLfMibSuTdwTuF7WWLux71CYD0eeD8/preview?sle=true</a><br>


<br>"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."<div><div class="h5"><br><br><br>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 9, 2014 at 1:00 PM, Brian Anderson <span dir="ltr"><<a href="mailto:banderson@mozilla.com" target="_blank">banderson@mozilla.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This is an interesting idea, but I don't see it happening for a long time if ever:<br>
<br>
* The current process is working fine<br>
* rustc depends on many of the standard libraries, so restricting rustc means figuring out how to stick to a fixed subset of those libraries<br>
* It's a lot of work to make the bootstrap process even *more* complicated<br>
* For some minor benefits<div><div><br>
<br>
On 06/09/2014 06:34 AM, James Cassidy wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
On Mon, Jun 09, 2014 at 12:55:00PM +0000, Sanghyeon Seo wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



Do you plan to create a cleaner full-bootstrap process?<br>
By "cleaner" I mean dividing stage-0 to more [sub-]stages,<br>
which would be well-defined and documented in terms of<br>
the set of language features it implements. Currently these<br>
sub-stages are defined by a team member's mood to instruct<br>
the build-bots to make a snapshot. This kind of bootstrap<br>
seems to be a black-box.<br>
</blockquote>
As I understand, there is no plan to do this. "Bootstrap" you are talking<br>
about is purely theoretical, and I don't think anyone actually performed it.<br>
In practice, Rust is bootstrapped from the downloaded binary.<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I understand you do not spend resource on such tasks before 1.0,<br>
but do you think this is a legitimate|sensible request at all?<br>
Would it be worth the work?<br>
</blockquote>
Personally, I don't see any value in doing this work. C compilers are<br>
bootstrapped from C compiler binaries. Analogously, the Rust compiler<br>
is bootstrapped from the Rust compiler binary.<br>
<br>
Trying to bootstrap from rustboot would be akin to trying to bootstrap<br>
GCC from last1120c (the oldest C compiler with surviving source code).<br>
An interesting feat of computer archaeology, but not really useful for<br>
anything.<br>
<br>
</blockquote>
I think he was more referring to what language features will be allowed in the<br>
rust compiler itself where earlier stages would be more restricted so they can<br>
be compiled with older rust compilers, for example hopefully rustc 2.0 can be<br>
compiled by rustc 1.0. ┬áThen later stages could use more features since it will<br>
be compiled with the more up to date earlier stage.<br>
<br>
Currently what features can be used in the compiler itself are just limited to<br>
whenever someone decides to compiler a newer stage0 compiler.<br>
<br>
<br>
-- Jim<br>
______________________________<u></u>_________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org" target="_blank">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/<u></u>listinfo/rust-dev</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org" target="_blank">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/<u></u>listinfo/rust-dev</a><br>
</div></div></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/listinfo/rust-dev</a><br>
<br></blockquote></div><br></div>