-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-NLLArea: Non-lexical lifetimes (NLL)Area: Non-lexical lifetimes (NLL)NLL-completeWorking towards the "valid code works" goalWorking towards the "valid code works" goalT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Milestone
Description
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.)
- This incantation adds
- Try
./x.py build --stage 1
again and see if it works - If so, open a PR
Crate list
-
liballoc
-- [nll] enable feature(nll) on various crates for bootstrap #53211 -
liballoc_jemalloc
-- [nll] enable feature(nll) on various crates for bootstrap #53211 -
liballoc_system
-- [nll] enable feature(nll) on various crates for bootstrap #53211 -
libarena
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
libbacktrace
-
libcompiler_builtins
-
libcore
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libfmt_macros
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
libgraphviz
-- [nll] enable feature(nll) on various crates for bootstrap #53211 -
liblibc
-
libpanic_abort
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
libpanic_unwind
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
libproc_macro
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libprofiler_builtins
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_allocator
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_apfloat
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
librustc_asan
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_borrowck
-- [nll] enable feature(nll) on various crates for bootstrap #53211 -
librustc_codegen_llvm
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_codegen_utils
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_cratesio_shim
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
librustc_data_structures
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_driver
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
librustc_errors
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_incremental
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
librustc_lint
-- [nll] enable feature(nll) on various crates for bootstrap #53211 -
librustc_llvm
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_lsan
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_metadata
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_mir
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_msan
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_passes
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_platform_intrinsics
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustc_plugin
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_privacy
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_resolve
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_save_analysis
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_target
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
librustc_traits
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_tsan
-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214 -
librustc_typeck
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
librustdoc
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libserialize
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libstd
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libstd_unicode
-- rolled into libcore -
libsyntax
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libsyntax_ext
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libsyntax_pos
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
libterm
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
libtest
-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230 -
libunwind
-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219 -
stdsimd
Metadata
Metadata
Assignees
Labels
A-NLLArea: Non-lexical lifetimes (NLL)Area: Non-lexical lifetimes (NLL)NLL-completeWorking towards the "valid code works" goalWorking towards the "valid code works" goalT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.