-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
[nll] use NLL during bootstrapping #53172
Copy link
Copy link
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
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.
Type
Fields
Give feedbackNo fields configured for issues without a type.
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
./x.py build --stage 1works for you#![cfg_attr(not(stage0), feature(nll))]to the lib.rs file#![feature(nll)], but only once we get to stage1 -- otherwise we'd be using the beta version of NLL, which is old and buggy.)./x.py build --stage 1again and see if it worksCrate list
liballoc-- [nll] enable feature(nll) on various crates for bootstrap #53211liballoc_jemalloc-- [nll] enable feature(nll) on various crates for bootstrap #53211liballoc_system-- [nll] enable feature(nll) on various crates for bootstrap #53211libarena-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214libbacktracelibcompiler_builtinslibcore-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libfmt_macros-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219libgraphviz-- [nll] enable feature(nll) on various crates for bootstrap #53211liblibclibpanic_abort-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219libpanic_unwind-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219libproc_macro-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libprofiler_builtins-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_allocator-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_apfloat-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219librustc_asan-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_borrowck-- [nll] enable feature(nll) on various crates for bootstrap #53211librustc_codegen_llvm-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_codegen_utils-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_cratesio_shim-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219librustc_data_structures-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_driver-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219librustc_errors-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_incremental-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219librustc_lint-- [nll] enable feature(nll) on various crates for bootstrap #53211librustc_llvm-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_lsan-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_metadata-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_mir-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_msan-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_passes-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_platform_intrinsics-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustc_plugin-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_privacy-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_resolve-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_save_analysis-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_target-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219librustc_traits-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_tsan-- [nll] enable feature(nll) on various crates for bootstrap: part 2 #53214librustc_typeck-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230librustdoc-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libserialize-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libstd-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libstd_unicode-- rolled into libcorelibsyntax-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libsyntax_ext-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libsyntax_pos-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219libterm-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219libtest-- [nll] enable feature(nll) on various crates for bootstrap: part 4 #53230libunwind-- [nll] enable feature(nll) on various crates for bootstrap: part 3 #53219stdsimd