Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[nll] use NLL during bootstrapping #53172

Closed
nikomatsakis opened this Issue Aug 7, 2018 · 3 comments

Comments

Projects
None yet
4 participants
@nikomatsakis
Copy link
Contributor

nikomatsakis commented Aug 7, 2018

An important correctness milestone is to have the compiler itself use NLL when bootstrapping. We've made some stabs at this but we need to start doing it all the time.

Instructions

  • Log into Zulip and head to correct thread to say hi =)
  • Select a crate from the list below
  • Leave a comment that you are trying it
  • Verify that ./x.py build --stage 1 works for you
  • Add #![cfg_attr(not(stage0), feature(nll))] to the lib.rs file
    • This incantation adds #![feature(nll)], but only once we get to stage1 -- otherwise we'd be using the beta version of NLL, which is old and buggy.)
  • Try ./x.py build --stage 1 again and see if it works
  • If so, open a PR

Crate list

@lovesegfault

This comment has been minimized.

Copy link
Contributor

lovesegfault commented Aug 7, 2018

I'm going to be attempting this for librustc_mir just to start.

kennytm added a commit to kennytm/rust that referenced this issue Aug 9, 2018

Rollup merge of rust-lang#53211 - memoryruins:nll_bootstrap, r=nikoma…
…tsakis

[nll] enable feature(nll) on various crates for bootstrap

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 9, 2018

Rollup merge of rust-lang#53214 - memoryruins:nll_bootstrap_2, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 2

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 9, 2018

Rollup merge of rust-lang#53219 - memoryruins:nll_bootstrap_3, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 3

rust-lang#53172

@nikomatsakis nikomatsakis added I-nominated and removed I-nominated labels Aug 9, 2018

kennytm added a commit to kennytm/rust that referenced this issue Aug 9, 2018

Rollup merge of rust-lang#53211 - memoryruins:nll_bootstrap, r=nikoma…
…tsakis

[nll] enable feature(nll) on various crates for bootstrap

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 9, 2018

Rollup merge of rust-lang#53214 - memoryruins:nll_bootstrap_2, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 2

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 9, 2018

Rollup merge of rust-lang#53219 - memoryruins:nll_bootstrap_3, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 3

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 11, 2018

Rollup merge of rust-lang#53230 - memoryruins:nll_bootstrap_4, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 4

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 11, 2018

Rollup merge of rust-lang#53230 - memoryruins:nll_bootstrap_4, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 4

rust-lang#53172

kennytm added a commit to kennytm/rust that referenced this issue Aug 11, 2018

Rollup merge of rust-lang#53230 - memoryruins:nll_bootstrap_4, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 4

rust-lang#53172

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this issue Aug 12, 2018

Rollup merge of rust-lang#53230 - memoryruins:nll_bootstrap_4, r=niko…
…matsakis

[nll] enable feature(nll) on various crates for bootstrap: part 4

rust-lang#53172

r? @nikomatsakis
@pnkfelix

This comment has been minimized.

Copy link
Member

pnkfelix commented Aug 14, 2018

The remaining four crates:

  • liblibc
  • libbacktrace
  • libcompiler_builtins
  • stdsimd

are all "external dependencies", in the sense that they are crates that have been factored out and are hosted on separate repositories (still within the rust-lang or rust-lang-nursery ecosystems).

So, it seems like the vast majority of work here is done, and the important thing is: It seems clear that we can bootstrap ourselves using NLL.

Therefore, I am closing this task as "effectively finished"

@pnkfelix pnkfelix closed this Aug 14, 2018

@memoryruins

This comment has been minimized.

Copy link
Contributor

memoryruins commented Aug 14, 2018

Note: locally, libcompiler_builtins successfully built with NLL. I expect stdsimd and any others would too.

Well done, everyone :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.