Skip to content

[nll] use NLL during bootstrapping #53172

Closed

Description

@nikomatsakis

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

Activity

  1. added
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    A-NLLArea: Non-lexical lifetimes (NLL)
    NLL-completeWorking towards the "valid code works" goal
    on Aug 7, 2018
  2. added this to the Rust 2018 RC milestone on Aug 7, 2018
  3. lovesegfault commented on Aug 7, 2018

    @lovesegfault
    Contributor

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

  4. added 6 commits that reference this issue on Aug 9, 2018
  5. added a commit that references this issue on Aug 12, 2018
  6. pnkfelix commented on Aug 14, 2018

    @pnkfelix
    Contributor

    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"

  7. memoryruins commented on Aug 14, 2018

    @memoryruins
    Contributor

    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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-NLLArea: Non-lexical lifetimes (NLL)NLL-completeWorking towards the "valid code works" goalT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions